How to become a programmer, or the art of Googling well - <AUTHOR> http://okepi.wordpress.com/2014/08/21/how-to-become-a-programmer-or-the-art-of-googling-well/ <comment><USER2> This is very true, but it's a bit more complicated than that.

"I'd come to understand that the answer was out there, somewhere." The answer is out there, but so is the wrong answer. Recognizing the right answer is the hard part.

I also must point out that the answer is out there _if you know English_. Knowing English is a strong privilege. Success rate plummets if you Google programming questions in a language other than English.

<comment><USER3> This is something I've always wondered - how do programmers who don't natively speak, read, or write English cope with the sheer amount of literature they have to parse to have a career programming?

<comment><USER2> I don't natively speak, read, or write English. Speaking for myself, you cope by studying English. Blood, toil, tears, and sweat are involved.

<comment><USER3> For what it's worth, your English is pretty good.

</comment></comment></comment></comment><comment><USER4> I found that one particular phrase,"technically privileged", both hilarious and utterly horrifying. Hilarious because I suppose I never paused to consider that the folks in my major who were both curious and motivated enough to be involved in the field outside of class to be particularly "privileged". I suppose I should have given greater thought to how unfair it was that read API documents and I didn't!

Like I said though, it wasn't just good times and passive aggressive complaining about first world problems while I read this. I can't even begin to fathom the miserable, pathetic, and generally small, unexamined existence that would lead one to believe that h(s)e is somehow the victim of deep injustice at the hands of those people with their prejudiced technical abilities and natural curiosity! How dare they not level the playing field just because she never bothered to explore the use of code outside the classroom; clearly everyone missed that she's the subjugated one, with a comfortable liberal arts education and regular internet access.

But still, we should all take a moment to recognize the plight of the comfortable, generally satisfactory lives of those among us struggling silently with the burden of "technical un-privilege."

<comment><USER5> Did we read the same thing? I got the impression that the author realized at the end that "technically privileged" was just an illusion, and the whole point is that they don't exist.

<comment><USER6> Yes, to me this piece flies way past the "technically privileged" assertion. And in this way, it is one of the best counter-arguments to the "technically privileged" accusation some people have against our field.

</comment></comment></comment><comment><USER7> This, for me was a bit surreal and strange, because it took a long while for me to arrive at the same conclusion but from the complete opposite end.

I came to computers from electronics and for me, Data Structures and Algorithms was (to an extent, still is) black magic with Don Knuth the presiding head wizard. For me, compilers, filesystems and OS internals were all sort of deep dark places that I wasn't equipped to handle. On the other hand, banging out a shell script, spewing perl, or reciting python was just a matter of figuring out the right set of incantations ...not really hard. I learned html, css, js, a lot of python and was (/am) happy to just 'get- things-done' with these skills. I looked at people who could talk about BigO, concurrency, monads and the rest as the 'privileged' \-- I could never be /that/ good. And yes, I thought all of this was relevant to software engineering (as opposed to science) and that I would never get there. Fortunately, I no longer think this. Thanks to all the resources available online these days, the limits, I know now, are not inherent nor are imposed by ability to understand, they are imposed simply by time for learning and practice. So, I am still learning and yes, in that sense, the art of googling well can make you a better programmer -- irrespective of what you know today.

<comment><USER8> I'm in a similar boat. I majored in "Information Systems" which was practically a glorified business degree with some IT, networking, and a tiny bit of programming thrown in.

I was able to pick up comp sci fundamentals from various awesome online tutorials and even just good old Wikipedia.

</comment></comment><comment><USER9> I currently work with a bunch of people who are "business majors" or whatever and are similarly self-taught in the Tech/IT/Programming space.

It's interesting to watch how they work and the kinds of outputs they produce. Quite a lot of the stuff works... mostly...

It's entirely untestable, not repeatable, undocumented and just stuck together with flaky glue code.

Sure, if you aiming to "make it work" you can do that. If you're aiming to do well... I suggest learning proper technique.

<comment><USER10> > It's entirely untestable, not repeatable, undocumented and just stuck > together with flaky glue code.

Code that's testable, repeatable, well-documented and elegant doesn't guarantee that an application will actually meet anyone's needs in a commercially sufficient manner.

The WordPress code base is frequently criticized, and the Facebook index.php code from 2007[1] will probably make some people cringe, but these are just two of many examples demonstrating that if you want to "do well", building applications that work and meet the needs of their users is initially a lot more important than "proper technique."

[1] [https://gist.github.com/nikcub/3833406](https://gist.github.com/nikcub/3833406)

<comment><USER11> If the Facebook code had stayed untestable and undocumented, it would never have worked at their current scale.

Testing and documentation make a difference in the long term. Unless your business model is "build a shiny tower and sell it before it crumbles", at some point, you'll have to fix the mess you made in the early days of the application.

</comment></comment></comment><comment><USER12> >Some Small Advice: if you're just beginning to program, I'd suggest starting with JavaScript/HTML/CSS because there is a plethora of help out there.

What a terrible advice.

<comment><USER13> Why? For beginners web technologies are perfect. you can have results like a first static page within the first day and from that point go on to eventually build complex web apps. and all that with the same tools and languages. you will not be a programmer at first, but you might become one.

<comment><USER14> I think it's a great entry point. HTML/CSS is a very low entry bar to be introduced on how to talk to a computer. Of course it's not "programming" and very little logic, but it can show people one very important thing:

"See look, it's not so hard to talk to a computer. Those words on TV aren't all gibberish."

It's not like it teaches bad practices like a number of other "entry level" languages do. I'm sure the majority of people in my generation (late 20's, early 30's) started with HTML/CSS when they were kids.

</comment></comment></comment><comment><USER15> Googling well is very helpful in filling in gaps in your knowledge that are widely known by others. For most (?) software engineering jobs, that's probably enough.

Writing some code that works, though, doesn't forward the state of the art. I was lucky enough to take AP computer science in high school. I remember arguing with the teacher when she criticized my code in front of the class. I said something along the lines of "Well, it runs and produces the right output!" She then lit into me, explaining that the structure of the code, its readability and maintainability were at least as important as its output. I've carried that lesson with me in the 19 years since, and had in reinforced multiple times over.

The art of "Googling well" won't teach you good abstraction and maintainability, and yet I would argue it is one difference between junior engineers and (good) senior engineers. We talk about learning all these frameworks, but that's not nearly as useful as developing the skills to create the next powerful abstraction to make a class of hard or time-consuming problems easier or faster to solve. You won't learn how to do that on Stack Overflow.

<comment><USER16> Do you have any thoughts on how a junior engineer can improve their ability to write maintainable code? This is the main problem I struggle with as a self- taught developer. I can write code that works for the most part thanks to googling all the things, but my projects tend to turn to spaghetti the longer I work on them, and are greek to me when I return to them in 6 months.

Part of the issue is that it's much more rewarding to add a new shiny feature than it is to refactor the existing mess, but another part is I'm not really sure what goes where. Most online courses targeted at inexperienced programmers teach x feature of y programming language, instead of practical software engineering... as a result I feel like I've learned how to build a fancy stained glass door for a house that has an unstable foundation.

I've often thought I'd like to hire a senior dev to sit with me and help me work through building an app the 'correct' way... but short of that I'd love to know of any books or web resources that would help.

<comment><USER17> I was also self-taught and it took a good 2 years for me to get to the point to be able to write maintainable code. Here are the lessons I learned, in no particular order:

1.) Read your code after you write it. I do this via git diff --cached. It's amazing how many bugs you catch this way. Be critical of variable names, code layout or confusion, lack of documentation. It's basically doing your own code review. Is it documented? Is it tested? Does it make sense logically? Is it easy to read?

2.) Document stuff. Fluff documentation is even fine to start with, you'll eventually learn to separate the important documentation from fluff. Ultimately you need to get to the point of the "why" code does what it does, not the "what" it does. "What" it does should be evident by the code itself and the variable names/etc.

3.) Plan ahead. I don't mean pseudo-code per-se...more thinking or writing down how code will fit together. Mind mapping is great for this, particularly with a white board or tile. I have a Galaxy Note that I bought partially for this purpose and use Papyrus for it now. Basically, how do the abstractions and parts fit together? Is it logical? Not everything requires a whiteboard, but a few minutes of thinking ahead can help spaghetti code a lot.

4.) Learn different programming paradigms. OO style can quickly become un- maintainable even to pros. I suggest learning functional programming in a language like Scheme/Clojure, Lisp, or Erlang. I now pick up a new language every year in different paradigms...not so much to learn the language or to brag, but to learn different way things can be architected, and the way other languages do things.

5.) Do refactor. Outside of budget constraints, don't be afraid to rewrite code that doesn't seem to flow properly.

You mentioned sitting with a senior dev...that was pretty huge for me too, even in limited times. (I'm not sure I'd pay for it, but it did cut the learning curve down quite a bit) Having someone do code reviews of your code that knows what they're doing and invests time in it is helpful too. I've found though that not every Senior dev is good at reviewing code or teaching...

Sorry, I don't have any actual resources for this other than well structured code like Django (mostly) or sqlite. I now have a B.S. in CS and I don't really think they teach this well in schools either. Patterns will only get you so far in OO too...generally, trying new languages, reading code, and refactoring has made the largest impact on me.

</comment></comment></comment><comment><USER18> It seems like the skill in question isn't necessarily about becoming a programmer as it is about becoming a _hacker_. It's a fine line, but I think the skills you learn at Google will be much more programmer-esque, like code review, unit testing, and doodling on whiteboards :). Whereas I see deploying APIs in weekends to get things off Craigslist to be in the domain of hacker- ish things, what someone else already called "hobbyist". I think that's an important and subtle flag for career prospects, so the line isn't that clear, though.

Another point I get from this is both a critique and praise for CS learned in a liberal arts college. You felt unqualified for getting a software engineering job, which is something that really needs to be addressed in small LACs. On the other hand, academic rigor probably prepared you well for cutting through bullshit that surrounds fashionable technologies. For example, you may not have heard of Heroku, but you may have learned about networking protocols and virtualization, which I think is the harder part to learn.

I think you struck a good community by choosing web development (a bit biased), but I'd like to amend that with a word for the road not taken, which is that back-end programming is becoming really, really accessible as well. Tutorials for Flask, Node, and Rails are just as prevalent (and potentially misleading) as HTML tutorials of yore. Now anyone with a mac (and even windows! would you believe that!) can set up a server and push "hello world" to heroku.

Anyway, I'm looking forward to seeing "How to become a Googler, or the art of ????? well". I don't know what ???? is but I imagine it involves a lot of frustrated inability to Google things :)

</comment><comment><USER19> My 2cents.

Don't be fooled by this false sense of know-how when you just start being able to write some html/js stuff.

Googling a problem is a reflex when you start coding, and yes, good or bad googling abilities could be the difference between you still being in the industry in 5 years or not.

But, still, this is only a first step on your path, and stopping there will also stop you from being a real hacker.

There are things that just can't be resolved with a single search: "How to center a div in CSS" is not like "How to share load across different servers", because a big question must be divided into a lot a smaller ones, and there comes the difference between you and your "code-god compatriot".

So the real path looks more like this: 1- read good literature (CS, functionnal programming, network, etc), 2- exercise, 3- read good code, 4- exercise, 5- goto 1.

Anyhow, best of luck at Google ;)

<comment><USER20> I started learning in 2000, before Google was big and Stack Oveflow didn't exist. I think every new programmer gets a false sense of how easy everything is.

14 years of learning later, I now realize how little I know.

<comment><USER21> I started coding in high school in 1973 and professionally in 1981 with no benefit of any classes (other than the one in high school). Believe me I prefer to live in the modern age where your knowledge is expanded by the world's collective brains. In the "old days" you only had your own brain and limited library books and periodicals and maybe a good buddy. It was much harder than today to do anything you didn't already know but we didn't know any other way. Today it's much easier to find information, get ideas and opinions. I even use Google to find method names in iOS documentation (Xcode's sucks). But you still need to be able to understand what you read, decide if it is relevant, and how to apply it. Those things you can't just learn from Google fu, it takes experience, trial and error, and a willingness to recognize when you are wrong.

</comment></comment></comment><comment><USER22> Except for maybe Haskell[0] and Lisp[0], I've begun to feel like there isn't any language that I can't quickly learn with how I'm able to google at the moment.

For example, I'm currently helping some fellow students with their F# assignments, even though I don't do F# at all. I just know what to google, because I know the concepts that I need translated to the specific syntax.

[0] Maybe Lisp, but Haskell is way too different from other languages in the way to programme. I'm currently learning it, but it's by far the language that has taken me the longest.

<comment><USER23> Take a look at APL. There will be three.

<comment><USER24> I think there's only two and Lisp doesn't need to be on that list, but maybe I say that because I've been using Common Lisp for so long.

Lisp ought to be easy since all you basically have to learn is: "(function parameter1 ... parameterN)".

Coming from Lisp I've been trying to learn some Haskell and holy cow syntax[1]! There's a lot to parse and know (compared to Lisp) before being able to write a small program.

[1] I know it is not literally syntax but mostly function calls, it's still a lot of extra special characters one needs to know about.

</comment></comment></comment><comment><USER25> I'll argue that good programmers _need_ to have a working understanding of algorithms, databases, compilers and all that. Sure, it's not something you will use day-to-day in a software engineering job but it's important to know how all the low level pieces of your stack fit together in order to write good code.

There's nothing worse than a programmer that fits together code snippets from Stackoverflow and similar sites without understanding what it is actually doing.

<comment><USER26> I think it's fair to say that you can be effective without necessarily being good and vice versa.

I think the some of the best developers are those who are smart enough to have gotten a CS degree but skipped a bit of the academics. (A bit self serving: I graduated high school in 1996, had my first intro IT job by the fall of 1998, and had my first real programming job in January 2000, while my contemporaries were still in college)

<comment><USER27> Everyone overvalues education similar to their own and undervalues education dissimilar to their own.

<comment><USER28> Everyone generalises too much.

<comment><USER29> Best 4 words I've read today.

<comment><USER30> The general conclusion is that you haven't read much today.

</comment></comment></comment></comment></comment></comment><comment><USER31> This was fun to read. What I saw was someone say that they were panicking because they needed time to understand how all the things that go into learning to be a researcher goes into learning how to be a professional programmer. I'm quite sure his mind will be blown once he realizes that creating things, while incredibly rewarding, is only half the work. The other half is getting someone else to use your widget. Also (bad at math joke), there's an extra 50% involved in getting attribution.

My take? I'm biased because I was educated as a researcher. I can name-drop three famous professors at my alma mater (and yes, I did study under all three), but what really pushed me was getting a job, on campus, writing software to support PhD candidates in another discipline. I quickly made the jump from researcher to practicum precisely because I was trained as a researcher, then applied those skills to understanding what my customers needed.

Seems to me this guy found his own "push". And yet, he's still a researcher.

<comment><USER32> >>but what really pushed me was getting a job, on campus, writing software to support PhD candidates in another discipline. I quickly made the jump from researcher to practicum precisely because I was trained as a researcher, then applied those skills to understanding what my customers needed.

I think what allowed you to make that jump was that you were inherently familiar with the problem domain; even though your customers did research in another discipline, at the end of the day they were still researchers.

I was the lead trainer at my company, and the training materials (hundreds of pages of them) used to be on Word documents. I got fed up with it, taught myself Rails, developed and deployed a learning management system, and migrated the content there. It was very successful because as the lead trainer, I knew exactly what features would be needed and how they should work. It was kind of funny actually because when I gave a demo to the trainers in other teams, they basically said, "wow, this is _exactly_ what we need -- when can we start using it?" Which is music to any programmer's ears.

</comment></comment><comment><USER33>
      The first time I met him, he was in the middle of writing a
      script to scrape Craigslist of all its free furniture
      listings (which is illegal, btw).

It's a violation of the Craigslist TOS, a contract between two citizens, so it would be covered under civil law, not criminal. A creative prosecutors could try to spin it as a crime under the CFAA, ([http://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act](http://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act)) and there in fact _have_ been CFAA prosecutions for scraping Craigslist listings, ([http://en.wikipedia.org/wiki/Craigslist_v._3Taps](http://en.wikipedia.org/wiki/Craigslist_v._3Taps)) but I doubt there's much a case here.

<comment><USER34> This would fall under US v Drew ([http://www.dmlp.org/threats/united-states-v- drew](http://www.dmlp.org/threats/united-states-v-drew)). A case where someone violated the MySpace TOS and then was charged under the CFAA. The Judge ruled this was not a violation citing the void-for-vaguness doctrine and not wanting to give the power to right federal laws to websites.

</comment></comment><comment><USER35> Learning to "google well" has become the fundamental skill to replace reading/writing well in life. Scary.

</comment><comment><USER36> Wow, the guy is exactly me when he graduated college and in winter he started panicking. Pretty good in Googling too lol Graduated with a degree in Mechanical Engineering this year summer and unemployed since. Winter now, panicking. Learning web Development in hope of getting into something. Strange how similar his and my path are up to winter. Time will tell where I end up.

</comment><comment><USER37> * But a liberal arts CS major prepares you for a career in computer science research, which is completely different from, say, software engineering. It's like comparing a physical therapist with an athlete

Kind of funny that software engineering is compared to an athlete. In the current situation, I'd compare it with a headless chicken.

</comment><comment><USER38> Over time I have come to the conclusion that one of the best ways to identify a really interesting problem is when your attempts to google a solution come up blank. Google doesn't have all the answers, and if it becomes literally your only mechanism for moving forward you will hit a wall sooner or later.

</comment><comment><USER39> Hm this can go the other way around too: You don't realise how _hard_ is something and how far and away some people are, until you start programming[1]. Same goes for other sciences/sports/whatever.

[http://xkcd.com/1425/](http://xkcd.com/1425/)

</comment><comment><USER40> Google is your remote long term memory. Why wouldn't you use your long term memory? Sooner or later our brains will be modified to make the round-trip of entering request and getting a result much shorter and the difference will disappear.

</comment><comment><USER41> Or google 'what books should I read to become a programmer' [http://matt.might.net/articles/what-cs-majors-should- know/](http://matt.might.net/articles/what-cs-majors-should-know/)

</comment><comment><USER42> I feel the opposite. I am a self-taught full stack programmer and yet I wish I had some sort of degree to pursue research as a career.

</comment><comment><USER43> this just reminds me of the Expert Beginner: [http://www.daedtech.com/how- developers-stop-learning-rise-of...](http://www.daedtech.com/how-developers- stop-learning-rise-of-the-expert-beginner)

</comment><comment><USER44> In my mind I am pronouncing the italicized words with an Italian accent.

</comment><comment><USER45> I thought this was going to be something bashing programmers by the nature of the title. Glad I was wrong. Great story and something that all aspiring programmers should stick to.

</comment><comment><USER46> So the OP used Google to get a job at well, Google.

</comment><comment><USER47> "But I'd never even heard of the words front-end developer or full-stack. What was Heroku? Never heard of Xcode. Wasn't git just the thing you used to make sure your partner had access to the code you'd written? Frameworks? Didn't you just need HTML and Javascript? What the hell was an API?!"

If you literally never heard about any of those during your computer science courses, you attended a sad, sad university.

<comment><USER11> Apart from HTML/Javascript, which is usually taught in a web development course, most of these aren't taught in usual computer science courses because they have nothing to do with computer science. They are software engineering concepts.

<comment><USER47> I am well aware of that, being a CS student myself. However, those things are expected to be learned alongside. There won't be lectures about it but hand-on exercises will be impossible without them.

<comment><USER48> Lol that's not true either. How would hands-on exercises be impossible without Heroku? Haha. You know what I did in my CS classes? Wrote my own server in C. That's real CS, which is very focused on deep understanding -- not domain knowledge in software tools. You should ditch the attitude. Your first comment wasn't even necessary. You were just looking to feel good about yourself.

<comment><USER47> You wrote your own server without using any kind of API (e.g. TCP sockets)? I don't believe you ;)</comment></comment></comment></comment></comment>


Hover.css – A collection of CSS3 powered hover effects - <AUTHOR> http://ianlunn.github.io/Hover/ <comment><USER2> There was an interesting comment made when this was last submitted:

        > Those are really nicely done effects, and I could see finding a use for
        > some of the effects -- but not triggered on hover, I've pretty much given
        > up on anything triggered on hover, because of need to support touch.

I never thought about it before this way, but it makes some sense. Are people completely giving up hover-on effects because of this? It'll probably make sites marginally faster to give up effects on hover... so that's 2 reasons to ditch hover-on effects already. Do there still exist good reasons to keep it?

<comment><USER3> Hover still applies when a touch device is tapped but obviously if the element is a link the page is navigated away from and thus the effect isn't seen. Not all interactions navigate away from the page though so the effects are useful in those cases. And of course, desktop and other devices with cursor capabilities still make use of hover.

<comment><USER4> While it does still semi-work on mobile devices, frankly it is useless. Trying to trigger hover by tapping on the webpage is just frustrating and overall a bad user experience on mobile devices.

</comment></comment></comment><comment><USER5> Dup [https://news.ycombinator.com/item?id=7018240](https://news.ycombinator.com/item?id=7018240)

</comment><comment><USER6> [https://news.ycombinator.com/item?id=8854354](https://news.ycombinator.com/item?id=8854354)

</comment><comment><USER7> Works really well on Android using Samsung's S-Pen.

Interesting to see if other mobile platforms can detect fingers hovering over the page.

</comment><comment><USER8> Nice effects

</comment><comment><USER9> Nice update.

</comment><comment><USER10> Amazing work. Incorporating in my css-bag-of-tricks, posthaste.

<comment><USER11> Out of interest, what else do you have stashed in that bag?

<comment><USER10> Nothing too fanciful, just a collection of links I found useful:

[https://github.com/blueimp/jQuery-File- Upload](https://github.com/blueimp/jQuery-File-Upload) [http://www.creativebloq.com/responsive-design- tools-8134180](http://www.creativebloq.com/responsive-design-tools-8134180) [http://www.cssmatic.com/border-radius](http://www.cssmatic.com/border-radius) [http://tympanus.net/codrops/2013/11/07/css-overlay- technique...](http://tympanus.net/codrops/2013/11/07/css-overlay-techniques/) [http://www.entheosweb.com/tutorials/css/borders.asp](http://www.entheosweb.com/tutorials/css/borders.asp) [http://css3gen.com/text-shadow/](http://css3gen.com/text-shadow/) [http://www.abeautifulsite.net/whipping-file-inputs-into- shap...](http://www.abeautifulsite.net/whipping-file-inputs-into-shape-with- bootstrap-3/) [http://ellekasai.github.io/purplecoat.js/](http://ellekasai.github.io/purplecoat.js/)

(omitting reference material anyone and everyone already has on their bookmark bar)

I don't get the downvotes. Can someone explain?</comment></comment></comment>


Australia's tech darling Atlassian in sexism row - <AUTHOR> http://www.smh.com.au/it-pro/expertise/australias-tech-darling-atlassian-in-sexism-row-20140605-zryjd.html

<comment><USER2> Discussion here: [https://news.ycombinator.com/item?id=7847351](https://news.ycombinator.com/item?id=7847351)

And here: [https://news.ycombinator.com/item?id=7849377](https://news.ycombinator.com/item?id=7849377)</comment>


Welcome to the new decade - <AUTHOR> http://twitter.com/phil_nash/status/21159419598 <comment><USER2> Amusing, but only until you really think about it.

Java was always a restricted platform. Sun's lawsuit with Microsoft established that.

Google is hypocritical, but they haven't even come close to the "evil" of Microsoft in the glory days of "The Evil Empire." Microsoft used to have secret monopoly agreements with people. Google are openly disclosing their agreements and taking the flak.

Apple isn't a monopoly unless your definition of monopoly is "Controlling their own platform." Do they monopolize the Internet? No. Do they monopolize the market for phones? No. For phones that can access the Internet? No. Apple doesn't hold a monopoly and definitely hasn't done anything to abuse their so- called monopoly.

For example, MSFT shipped IE for free and killed Netscape. Apple shipped iTunes for free on the Mac and killed... Who exactly? Not even the celebrated Panic was killed as a company, just one product for a niche computer. Now Apple won't allow Flash on the iPad. Let me know when Adobe closes its doors.

Finally, the word "underdog" is not synonymous with the phrase "also-ran." Does anyone really think the bully that has gotten fat and can no longer beat up the new kid in the neighbourhood is now an underdog?

<comment><USER3> Yes but Microsoft's motto was always "a computer on every desktop". Nothing in there about "don't be evil".

 _For example, MSFT shipped IE for free and killed Netscape_

I was working in the industry at the time, and I know exactly what killed Netscape. My then employer spent substantial amount of money, on behalf of itself and its clients, on Netscape server products. It sounds unthinkable now, but there really was a time when people would spend 6 or 7 figures on web, or mail, or directory server software. Version 2 of Enterprise Server to this day I still say was one of the best webservers ever written. Version 3 was a dog, and we, along with everyone else, went elsewhere.

Remember that Netscape Navigator was always free for most users...

<comment><USER2> Like I said, Google is hypocritical. But still not even close to Microsoft's behaviour during its glory days. I dislike a number of choices the company has made, but there's only one thing it has done that I consider really evil. And no, the Net Neutrality proposal isn't it.

<comment><USER4> _there's only one thing it has done that I consider really evil. And no, the Net Neutrality proposal isn't it._

Curious: what is it? Android? ;)

<comment><USER5> Kowtowing to China?

<comment><USER6> The information sharing agreement with the NSA?

<comment><USER7> IPO ?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> It reminds me of a quote by Chris Rock few years back: "You know the world is going crazy when the best rapper is a white guy, the best golfer is a black guy, the tallest guy in the NBA is Chinese, the Swiss hold the America's Cup, France is accusing the U.S. of arrogance, Germany doesn't want to go to war, and the three most powerful men in America are named 'Bush', 'Dick', and 'Colon.' Need I say more?"

</comment><comment><USER9> I mostly agree with Phil, but I still wouldn't call Microsoft an underdog. I mean, I recently fell in love with OSX, but my opinion still stands that Windows 7 is f'ing amazing, and still outsells (or is at least on more machines than) OSX by an IMMENSELY large proportion.

<comment><USER10> There are more than a few of us who don't consider a machine suitable for real work unless it ships with a derivative of the bourne shell and makes it easy to run the same software we use on our servers.

My process to get up and running on a new machine is to change the keyboard layout to dvorak and run `wget -qO - bit.ly/newbox | sh`. On Windows I have to do everything in a Linux VM anyway, because I hate messing around with cygwin, coLinux, etc.

I know a lot of people will disagree with this, but to me a Windows box is a glorified Xbox with a web browser. Sure people work with them but unless you're using VS I don't really see the point of using Windows for development.

edit: I know I'm not representative of the larger population but I think there are more people switching away from Windows than to it these days.

<comment><USER11> Thing is, for a lot of people, a computer for 'work' purely means one on which they have first class Office (docx, xlsx, pptx) compatibility at the lowest possible price. Even Office:Mac is pricey, and not 100% identical (and no MS Access).

<comment><USER12> I know this probably isn't for most people, but I've gone to emacs' org mode for creating documents and spreadsheets. The cost is nothing, it's highly functional, and can be exported to TEX or html if you want to make it pretty.

<comment><USER13> Many people need to also read Office documents, not just write them. If you cannot sign or edit a crucial contract for your company because you are using some Open Source word processor (and all of your partners use MS Word) your decision to move from MS suddenly starts to look very, very stupid.

Also, I heard from a writer that Microsoft Office is superior to any word processor (a.k.a computer program you use to write a novel) to the point that he writes novels in Microsoft Word under Wine.

<comment><USER14> I seem to recall hearing that George R.R. Martin writes in Wordstar on DOS. That doesn't make it the best word processor though - you can probably find one fan of nearly any piece of software.

<comment><USER15> 'joe' on *NIX is the tool you want if you like the wordstar keybindings. It was my $EDITOR for a long time because I was used to the wordstar key bindings as used in turbo pascal 3.0. I talk a lot of shit about how useless school was... but I learned a lot in that pascal class in high school.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> This tweet almost reads like a Haiku. Goes to show how 'short' doesn't have to mean 'stupid'.

But there is still room for shortening. I suggest:

'There are no heroes. Welcome to eternity.'

<comment><AUTHOR> To wax religious/philosophical, albeit a little darker, you could shorten this even more:

"All is suffering"

Now I'm waiting for the Lisper to point out the macro for it that has it down to a few characters. ;-)

<comment><USER17> I think you're getting Lispers confused with Perl hackers. The Lisp macro for that would be long and aggressively hyphenated.

In Cobol, of course, "All is suffering" is just implied, and doesn't require any extra characters to state.

<comment><USER18> how would you state it in this <http://en.wikipedia.org/wiki/Piet_%28programming_language%29>

I presume it would be an awesome painting/shirt ;p

<comment><USER19> It'd be one black pixel.

In Lisp, it'd be an empty cons cell.

In C, it'd be the null pointer.

In Java, it'd be a XxxFactoryFactoryFactory.

</comment></comment></comment></comment></comment><comment><AUTHOR> I don't post tweets here, but this one was just too good to not share with HN.

<comment><USER20> It was definitely worthy.

</comment></comment><comment><USER21> Getting very tired of the "Apple is a monopoly" meme. Just because people keep repeating it doesn't make it even remotely true. Being a control freak in your own home doesn't make you a dictator for the rest of the world.

<comment><USER22> It's a natural monopoly. Nothing wrong with that.

</comment></comment><comment><USER23> Oracle remains evil, Google's nowhere close.

<comment><USER24> This is about where things are heading, not where they stand right now.

</comment></comment><comment><USER25> I'd say that compared to Oracle's evilness, Google seems quite innocent and tame. Certainly the most evil company in this whole debacle is Oracle, not Google.

<comment><USER26> I don't know about that. What Google is doing should be illegal. What Oracle is doing is immoral.

<comment><USER27> Illegal? Immoral? No need to be dramatic. "Do No Evil" may have been a good tagline when you're a startup going against The Man, but unfortunately that doesn't always resonate when you're considering the bottom line going forward. And Oracle is only trying to maximize the utility of its new (and expensive) IP.

We are seeing some fascinating strategic plays unfold here. This is how the big boys operate; future Larry Ellisons, take note.

</comment></comment></comment><comment><USER28> Speaking of evil, let us not forget Goldman Sach's treatment of Sergey Aleynikov. Makes Oracle look like Mother Teresa.

<comment><USER29> > Goldman Sach's [sic] treatment of Sergey Aleynikov > [m]akes Oracle look > like Mother Teresa

I don't see how this follows. I'm no fan of Goldman Sachs, but the grand jury apparently was shown enough evidence to justify indicting Aleynikov for stealing Goldman's source code on his last day working there before jumping to another company. See the detailed allegations in paragraphs 12-15 of the indictment at [http://www.docstoc.com/docs/25202761/Aleynikov_-Sergey- Indic...](http://www.docstoc.com/docs/25202761/Aleynikov_-Sergey-Indictment).

<comment><USER30> Agreed. While Sergey was probably just being stupid and GS over-reacted, the guy did copy lots of confidential propriety data and source code from GS servers to an off-shore server and then tried to cover his tracks by deleting bash history, audit logs, etc.

It was the later that actually triggered an alarm. In much the same way you'd be suspicious if you came into work late on a sunday night and found someone in accounts shredding audit trail documents, Goldman had to do something.

If the stolen data was used to make illegal trades and Goldman hadn't done anything about the breach than GS could find themselves subject to criminal proceedings for being an accomplice.

</comment></comment></comment><comment><USER31> Meh, he stole that from my post on Techcrunch: [http://techcrunch.com/2010/08/13/google-net-neutrality- video...](http://techcrunch.com/2010/08/13/google-net-neutrality-video/)

</comment><comment><USER32> ... And there was never a better time to create.

</comment><comment><USER33> Am I alone in thinking this was written in the style of the introductory text for chapters in Accelerando?

</comment><comment><USER20> Dugg for its accuracy.</comment>


Matt Cutts gives you a free startup idea - <AUTHOR> http://www.google.com/buzz/109412257237874861202/Tu7U17YACA8/Heres-another-start-up-idea-Jeff-Jarvis-recently

<comment><USER2> Except I think startups are collectively figuring out that creating a company solely around an API plugin isn't a very solid business plan.

<comment><USER3> Not sure that applies here. Even if Gmail discountinued OAuth support, you could just fall back to IMAP.

<comment><USER4> As the ecosystem around Twitter has discovered, the platform owners will sooner copy a good feature than buy it if it's cheap enough to build. It's not about OAuth or IMAP, it's about some GOOG PM copying the featureset and putting it in the MRD for the next release.

[edit: a famous bit of company-is-a-feature carnage for reference: STAC vs. Microsoft: <http://en.wikipedia.org/wiki/Stac_Electronics> ]

Which makes me wonder why Matt can't get this championed internally or for someone's 20% project?

<comment><USER5> I think that depends on how sophisticated a service is. I agree that applying some regular expressions to emails is not enough to make any other company buy you instead of building it themselves. But that holds for almost anything a startup can do.

Startups need to solve difficult problems or they are nothing more than marketing firms trying to create a hype around hot air. Filtering email intelligently, including automatic anonymization of sensitive parts within the email, can be a difficult problem to solve, and I think there are many types of email integration that a startup could tackle based on the approach Matt suggests.

</comment></comment></comment></comment><comment><USER6> With this kind of positive feedback, maybe I'll post more in the future.

<comment><USER7> I wasn't aware that gmail had an API that would allow me to parse mail like he wants. Is it supposed to be a greasmonkey script+server side stuff>?

<comment><USER8> Their OAuth for IMAP/SMTP should be all you need: <http://code.google.com/apis/gmail/oauth/>

<comment><USER7> I learn something new every day. Thanks for that!

</comment></comment></comment></comment><comment><USER9> Seems like a neat idea, but I'd rather that functionality be handled by gmail rather than a 3rd party.

<comment><USER10> It sounds like it _should_ be handled by Gmail in their OAuth access implementation. As described in the post, it sounds kind of scary that by giving access to Gmail, you give access to all your account with no granularity whatsoever.

Gmail could do that by pairing the OAuth access with a set of permissions which would basically be the filters Matt describes. The way other services (Facebook comes to mind) are doing it basically.

<comment><USER11> agree, as much as I love the idea, theres no way I want to allow anyone other than google to have access to my email. They would essentially be able to mine.. all my bills, expenses, and income, all my contacts and plans.. etc pretty much have access to my entire life.. yes I know google does, but giving it to google is much better than giving it to some startup who may not be around a year from now, and decide to sell all this data to the highest bidder, and who knows where else that will go.

</comment></comment></comment><comment><USER12> I think we're in Diaspora territory again, where I want to own the data and allow access to you via my own criteria.

I've been baulking at Firefox 4's "sync" today because the data is on their server with their key. A bit 1990's me thinks.

There's no way I'm trusting my email, or anyone else's, to another third party.

I imagine I manage this like most folk, I forward gmail to my server and procmail from there. Works great.

<comment><USER13> Firefox Sync encrypts the data locally, and you can run your own server. There's actually a simplified one for running on your own home server (as opposed to the large Mozilla infrastructure).

<comment><USER14> In addition, the server and all infrastructure, are completely open source. Mozilla doesn't really build anything that it can't open source.

</comment></comment></comment><comment><USER15> this should probably just get paired with an email parser, as in you setup a filter, and tell it what piece of data to look for, and that's the only data that's made available.

i dunno about others, but I wouldn't want some third party site to get the full email with my name/address for example.

</comment><comment><USER16> Maybe I didn't understand something, but it seems to me that companies like Blippy would have to change something in their code to link with your server instead of Gmail. If it's the case, it would be hard to get everyone to adopt this system.

Or if it's not the case, could someone explain to me how linking the startup server with other companies would work? (Unfortunately, I'm not very familiar with the technologies mentioned in the article.)

</comment><comment><USER17> How much money does procmail make?

</comment><comment><USER18> I have the oauth stuff already working in my app (different app, using php and ruby). I can help get this done (or a similar idea) very quickly. Get in touch with me if interested (email in profile).

</comment><comment><USER19> Not sure if its a great business plan, but its something that I have been looking around for quite sometime now. Very useful idea!

</comment><comment><USER20> *waiting 6 months for all of the 'review my startup' threads

<comment><USER21> You'd hope someone could have an MVP up within a week or two!

</comment></comment><comment><USER22> Otherinbox is on this track. They can create calendar entries automatically from emails.

I stopped using them because I didn't like the opt-out style of filtering, but the technology is cool.</comment>


Life in Walter Segal's self-build 'anarchist' estate - <AUTHOR> http://www.theguardian.com/cities/2015/sep/16/anarchism-community-walter-segal-self-build-south-london-estate <comment><USER2> Funny to read about how this guy invented a wonderful NEW way to build houses back in the 1960s, but the article describes the way that most Canadian houses (and Scandinavian ones) have been built for at least 10 years or so.

Not to mention that if you go to Russia or other parts of the former Soviet Union you can find lots of people with self-built houses made from bricks and various sorts of stone blocks covered with plaster, whose construction is very much life the average 30's pebble dash home in Britain. Minus the pebbles of course. Russians prefer smooth plaster and paint or decorative tiles.

Having participated in building the Canadian way, moving around long heavy timbers, I wonder if the European brick and block way is not superior for self-building. Much easier to lift one block into postion, than a long timber, or a prebuilt truss (crane required) or a prebuilt wall (half a dozen strong helpers required and they bear the risk of it falling on them if a mistake is made).

<comment><AUTHOR> I have looked at this quite closely. It looks very similar at first sight, but the process is quite different from conventional Canadian timber framing, in that it has a radical focus on simplicity and self building.

On a practical level, this translates into things like much more modest foundations (poles instead of slab), a 60 cm grid system that is perpetuated throughout the house, plasterboard panels that get loosely fit instead of screwed on, an extremely simple but sturdy stair design, and more.

A more contemporary descendant seems to be [http://irishvernacular.com](http://irishvernacular.com) .

</comment></comment><comment><USER3> I would suggest that the real factor preventing more-widespread application of this idea is a lack of developable land near frequent rail service. The houses do appear to make extremely efficient use of land in the Japanese fashion, however, with modest building lots on a very narrow street.

The aesthetic is very 1980s US west-coast suburbia.

</comment><comment><USER4> As a carpenter living in the western US (where platform wood framing dominates) I'm curious about why masonry building is the norm in England. Is it simply lack of forest/wood products?

<comment><AUTHOR> I'm not an expert, but here is my speculation. Historically, in many parts of Europe, wooden housing was cheap housing. In many places, only they rich could afford stone houses.

Several cities, seeing wood as a fire risk, even until this day have rules that forbid new wooden construction.

Then there's also the fact that streets are organised in a totally different way in many European cities. US visitors sometimes tell me they feel a bit claustrophobic in the streets of my native city. They _are_ quite a bit narrower than the average US street, and they're all townhouses built right next to one another.

Oh, and older generations seem to spontanuously associate wooden barracks with soldiers, prisoners of war and cheap post war emergency housing.

The tide is turning though, with wood and even straw building gaining in popularity year by year in many of the EU countries that I regularly visit...

</comment></comment><comment><AUTHOR> Wonderfully simple construction method that should appeal to technically oriented people. I'd be grateful for pointers to more contemporary work in this regard, as the insulation value of these is getting rather problematic.

</comment><comment><USER5> Simple self build houses built from wood panels are far more common in parts of the world where - unlike London - the cost of construction labour isn't the least of all the problems faced by people wanting housing.

</comment><comment><USER6> all you can see on streetview: private property signs.

doesn't feel very anarchist to me.

[https://goo.gl/maps/JRUfk7ZRaHo](https://goo.gl/maps/JRUfk7ZRaHo)

<comment><USER7> Several types of anarchists believe in private property.</comment></comment>


Ask HN: Best place for programmers to blog about code? - <AUTHOR> I have benefited greatly from all sorts of great programming material that other people have put on the web.  Over the last few years I've accumulated quite a few nuggets of programming gold myself and I'd love to start sharing.  What are some good blogging platforms for programming blogs?
Preferably these platforms would be:
- free
- minimal personal info with no facebook/twitter login required
- hosts images
- supports embedding code snippets in blog entries
From almost starting a blog recently, the best one I could find was Medium, but I'm curious as to what else might be out there.  For those of you who are already writing these sort of blogs, what do you use? <comment><USER2> I would advocate Github Pages powered by Jekyll. You can use another static site generator, but Jekyll is directly supported by GH pages, so it makes it slightly easier to deploy.

I like not being dependent on a specific platform. If I decide that I don't like Github pages anymore I can just take my static content and push it somewhere else. Also, it makes it very easy to work on my posts offline.

<comment><USER3> If you're going to use Jekyll or some other self-hosted-ish service (as opposed to Medium or Tumblr or so on), why not just deploy to your own webspace rather than GitHub Pages?

<comment><USER2> Because it's free and there is nothing to do. I just create a repo that is my blog, it kills 2 birds with one stone: I keep the content under source control and it is made available as a website.

If I had another webspace I would have to keep my git repo, and in addition I would have to push the generated content to my host. Effectively, when I commit to my repo it's doing the publish automatically.

</comment></comment></comment><comment><USER4> x2 for Github pages, it really has almost everything you need or a quick workaround.

That said, I am a huge advocate for owning your own content. You never know you might be an awesome writer that will turn into a famous blog :)

</comment><comment><USER5> Why not start your own website and post there?</comment>


Pixel interpolation methods in ImageMagick (2004) - <AUTHOR> http://www.imagemagick.org/Usage/misc/#interpolate <comment><USER2> Does anyone know how to use this when resizing images with PHP's 'imagick' library? Currently I use:

        $im->resizeImage($box_x, $box_y, Imagick::FILTER_LANCZOS, 1, 1);

or...

        $im->resizeImage($box_x, $box_y, Imagick::FILTER_CATROM, 1, 1);

On the man page there is no obvious way to use the imagick::INTERPOLATE_SPLINE constant when resizing images:

[http://php.net/manual/en/imagick.resizeimage.php](http://php.net/manual/en/imagick.resizeimage.php)

It is a shame that such small tweaks is always a non-existent man-page away with PHP's ImageMagick wrapper. (Using spline could smooth out a lot of straight and thin edges, but, as it is, I will never find out.)

<comment><USER3> For resizing operation you use a resampling filter, not an interpolation method. E.g. the 'point' filter corresponds to the 'nearest' interpolation. [http://www.imagemagick.org/Usage/filter/](http://www.imagemagick.org/Usage/filter/)

To set interpolation for e.g. rotation operations, you'd use the setImageInterpolateMethod method:

[http://php.net/manual/en/imagick.setimageinterpolatemethod.p...](http://php.net/manual/en/imagick.setimageinterpolatemethod.php)

</comment></comment><comment><USER4> probably best to combine with handling the image gamma: [http://archive.is/3gmxe](http://archive.is/3gmxe)

I'm less sure of how much of a difference this will make for other transformations but it's very important for scaling.</comment>


Studying for the Test by Taking It - <AUTHOR> http://www.nytimes.com/2014/11/23/sunday-review/studying-for-the-test-by-taking-it.html

<comment><USER2> When I was a professor I introduced a similar idea. What I did is put up a series is small online quizzes (three questions only) that had to be answered before each lecture block. The answers were in the lecture notes so all the student had to do was read through the lecture notes before class. The idea was by making the students aware of the content before the lecture I could reduce novelty overload and stop the student's brain switching off in class.

It worked realy well and I was able to increase the average mark in the final exam by 10% points without having any significant impact on the student reviews of the course - introducing lots of testing through the subject is a no-no for students as it does impact on their drinking time. If you prevent them partying they take it out on you in the performance reviews. This approach was a stealth way of improving performance.

</comment><comment><USER3> The engineering physics courses at the University of Illinois have had "pre- flight" quizzes like this for years. It definitely encouraged me to do the readings and understand the material before attending lecture.

I wonder if they might have been made more effective by "interleaving" different topics like the article suggests, as opposed to just quizzing students on the topic of the day's lecture.

<comment><USER2> This works really well with improving the student's understanding of the subject, but it comes at the expense of pulling down your performance review as a professor - students just don't like having to do (any) work and will punish any lecturer who pushes them to perform to their ability.

I had to maintain a score of above 3.5 out of 5. I would push the students as hard as I could and just keep my score above that level (my aim was 3.6 to 3.7). The constant complaint of my students was the high workload, but since I was trying to optimise for their learning rather than my own promotion, I was able to pack more into one subject than would fit in two of my colleagues subjects.</comment></comment>


Optional Chaining and Nullish Coalescing Operators in JavaScript - <AUTHOR> https://www.ksharifbd.com/blog/optional-chaining-and-nullish-coalescing-operators-what-why-and-how/ <comment><AUTHOR> Optional Chaining and Nullish Coalescing operators are two of my favorites from the ECMAScript 2020 specification.

It's a note on those features using examples that covers behaviors such as short-circuiting, long short-circuiting, stacking, and grouping.</comment>


Wikicoding, the wikipedia of code - <AUTHOR> http://wikicoding.org

<comment><AUTHOR> Here's the link to the project repository: [https://github.com/arjun024/wikicoding](https://github.com/arjun024/wikicoding)

</comment><comment><USER2> This is like Wikipedia meets GitHub</comment>


Leave your OS at home: the rise of library operating systems - <AUTHOR> https://www.sigarch.org/leave-your-os-at-home-the-rise-of-library-operating-systems/ <comment><USER2> The article says that in data center workloads, 15-20% of CPU cycles are spent in the kernel. Contrast that with Brendan Gregg's statement (for Netflix running on EC2): "Most microservices we have run hot in user-level applications (think 99% user time), not the kernel, so it's difficult to find large gains from the OS or kernel." [1] I wonder why the OP and Brendan had such different observations.

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

<comment><USER3> Doesn't Brendan Gregg work on things like Illumos/SmartOS? I think it's probably using lightweight OSs like that which help

Meanwhile most people just kinda take out of the box Ubuntu

<comment><USER4> I've primarily worked on Linux for 3+ years.

</comment></comment></comment><comment><USER5> Funny thing is, my old OS project [1] is more or less that - it could be a typical OS with separate tasks and so on, but it is effectively a single program, and can easily be compiled as a single program with all the standard calls replaced with OS-level implementations.

In practice, these are two different sets of use cases - in one you want clean abstractions, process separation, storing message passing and so on, in the other you want to get the call from your code into the libservice ASAP. Trying to (unwittingly) combine the two gave me quite a bit of grief.

Another disadvantage is a lack of any protection (at least in my implementation), since everything shares the address space.

Anyway, it's odd to see that a random idea i had 17 years ago is actually starting to get used.

[1] [http://orbides.org/aprom.php](http://orbides.org/aprom.php)

<comment><USER6> Yours sounds like a Language-based Operating System, except you didn't implement protection in the language. Anyway they've been around for a very long time. The Burroughs system that I'm familiar with was around in the 1960s (from 1961 according to Wikipedia).

[https://en.wikipedia.org/wiki/Language- based_system](https://en.wikipedia.org/wiki/Language-based_system)

</comment></comment><comment><USER7> Back to real mode we go.

<comment><USER8> I guess we should have been listening to Terry all of this time!

<comment><USER9> I really wish I could do a good bit of my work on his OS. I'd much rather a Kawasaki than an aircraft carrier that is half sinking.

Charles Moore of Forth fame has an amazing interview where he argues that the OS is really not necessary on modern hardware. Of course this man built his own language, CAD software, and chips...some of which are in outer space. Impressive man.

<comment><USER10> Where is Chuck Moore now? He used to write a blog that was sometimes quite educational.

<comment><USER11> I believe he's still with GreenArrays.

<comment><USER9> He retired a week ago apparently.

</comment></comment></comment></comment></comment></comment><comment><USER12> If I can offload work to the OS, great! I don't want to manage the virtual memory backing my mmap when the kernel is really good at it. It is not inherently bad when CPU time is spent in the kernel.

The point I'm taking away from this article is that some workloads (probably not mmap) trigger bottlenecks in the kernel, and would benefit if it were possible to replace those kernel components via app library.

That said, we do things like this all the time today. For example, I can provide my own memory allocation library instead of depending on the one provided by the operating system.

So I'm unconvinced there are many real world bottlenecks without a descent solution available today.

I wonder: Is the real point that leveraging custom implementations is hard and we could all benefit from a nice central repository and a reasonable dependency manager?

</comment><comment><USER13> Well, having an entire copy of Linux in a container is a bit much.

<comment><USER14> This seems like a trade-off we're already okay with making.

        $ du -h /boot/vmlinuz-4.4.0-93-generic
        6.8M    /boot/vmlinuz-4.4.0-93-generic
        $ du -h /usr/bin/docker
        12M     /usr/bin/docker

<comment><USER15> I think you're misunderstanding what GP means by "linux" on purpose.

<comment><USER16> And conveniently forgetting that docker is written in Go, so the binary also has the runtime and all used libraries baked in

</comment></comment></comment></comment><comment><USER17> I thought this was going to be about things like Dynix

</comment><comment><USER18> I'm currently using [https://askubuntu.com/questions/138356/how-do-i-get-a- live-u...](https://askubuntu.com/questions/138356/how-do-i-get-a-live-usb-to- use-a-partition-for-persistence) and really like it</comment>


Show HN: Turn indented text into mind maps - <AUTHOR> https://tobloef.com/text2mindmap/ <comment><AUTHOR> A few months ago one of my favorite tools [http://www.text2mindmap.com](http://www.text2mindmap.com) went down and since there doesn't seem to be any plans to bring it back up I created my own version of the site. It's basically just a quick mashup between some of the code from the original site and some code from my Markdown Editor ([https://tobloef.com/markant/](https://tobloef.com/markant/)), but I hope someone will find it as useful as I did.

<comment><USER2> Do you know why it went offline? I'll assume lack of funding. What would be the best way to make a niche-app like this self-funding, given developers' aversion to ads? Donations? Monthly/Annual subscription? I have a similar site that I want to spin up, that serves a different purpose but has a similar interface.

<comment><USER3> Really something like this shouldn't rely on being hosted by one person. A decentralized protocol like dat[0] would solve this problem.

[0] - [https://datproject.org/](https://datproject.org/)

<comment><USER4> Or Secure-Scuttlebutt, which vehiculates the concept of identity as a first citizen.

[https://scuttlebutt.nz](https://scuttlebutt.nz)

Here, the social aspects could be useful, like following my friends mind maps etc.

<comment><USER5> >vehiculates the concept of identity as a first citizen.

What the heck does that even mean?

<comment><USER6> It's a perfectly cromulent sentence.

</comment></comment></comment></comment></comment></comment><comment><USER7> OP: [https://gingkoapp.com/](https://gingkoapp.com/) will blow your mind

<comment><USER8> Landing page says nothing about what (and how) it actually does. I had to watch the youtube video to get a vague idea of what is going on.

<comment><USER9> I would have closed the website after failing to find a description if not for the warning. But the videos are very short and clear, and it'd probably be harder to explain the interface with text.

</comment></comment></comment><comment><USER10> I started something similar, but it's been gathering dust lately. FWIW, some differences were:

Graph instead of tree. I'm rather baffled by the popularity of mindmaps. Even on paper, I do cyclic graphs of typed nodes and links. So the end of text lines could optionally contain link targets, node types, and "use this link type for these children".

Outline mode for text. Mirrored in the graph.

3D graph. I'm mostly interested in using it in VR/AR.

Graph nodes with arbitrary markdown. So a node might be a markdown list. Dynamically managing outline-like "collapsed vs list vs graph vs graph-with- reduced-force" was a puzzle.

Instead of online editing, it was a development kludge of file watching and hot reload.

Motivating use case: Most project management is so constrained on time and resources, that that's what tools are build around. But I do a lot of opportunistic lazy projects (eg "when browser bug #N eventually get's fixed, we could do an exploratory spike over that way, or alternately, we could take this other path which is bottlenecked on X and Y and needs a risk mitigation exercise on Z"). Even a small project can have an order-1000 node graph. And I've never seen tooling that wasn't wretched at managing them.

<comment><USER11> Hey this sounds very interesting! Is it open source / where can I read more?

<comment><USER10> > Is it open source / where can I read more?

It's just toy fragments at present. Using an idiosyncratic format. And a Windows MR HMD (for resolution), on linux(!), with three.js-but-not-WebVR (for resolution), and React, and emacs ... so in its current form, market size seems order-1. Low order one, since even I don't use it.

One might pull together something simpler for people to play with. Maybe preprocessed yaml. Just a browser window. Simple three.js. ... But I haven't.

What aspects of it sounded interesting? I'd been thinking of it as a niche itch-scratch type project.

</comment></comment></comment><comment><USER12> It doesn't seem to work at all for me. Not sure why, I've checked with Chrome and Firefox on Linux (using i3 tiling window manager). I see the text outline on the left and the white pane on the right, where I assume I should see a mindmap. I see nothing but white in the large right pane, so maybe there's something you're supposed to do to get it to draw the mindmap, but I can't figure out what.

<comment><AUTHOR> There was a bug with the styling, that should be fixed now.

<comment><USER12> Nope, still the same, can't see any mindmap or any button to click to create one.

However, I can now see some blue text up above and to the right of the menu items, which when clicked takes me to mailchimp for email. That text is unreadable for me, though, not enough contrast with the black background it's on.

I don't know what I'm supposed to see, but I assume there's supposed to be a mindmap graphic somewhere. This is what I see on both Firefox and Chrome on my system: [https://screenshots.firefox.com/REX701nPf7jUrYbw/tobloef.com](https://screenshots.firefox.com/REX701nPf7jUrYbw/tobloef.com)

<comment><AUTHOR> I think that might be a problem with the caching. I'll look into forcing a cache refresh.

<comment><USER12> Okay, seems to be working now. And mailchimp link is visible in 'subscribe to newsletter' over by github and twitter icons.

</comment></comment></comment></comment></comment><comment><USER13> Hey guys,

That's basically what I'm doing with my new Mindmapping tool in dev, Wigwam. I'm pre-launch, but you guys are welcome to check it out.

[https://www.wigwams.io](https://www.wigwams.io)

Let me know what you think!

<comment><AUTHOR> Looks pretty good, I'm looking forward to trying it out. The UI a bit more cluttered than I would like, but it's nice to see something like this more fleshed out than what I posted.

</comment></comment><comment><USER14> For those who use Markdown and Atom this plugin might also be of interest: [https://atom.io/packages/markdown-mindmap](https://atom.io/packages/markdown- mindmap)

<comment><USER15> Exactly what I needed, thank you!

</comment></comment><comment><USER16> Freeplane does this and many other cool things natively.

Freeplane: Gpl, multiplatform, icons, styles, images, links, connectors, foldable, clone-nodes, scriptable (groovy, jruby, jython, javascript), efficient even with huge maps

Just have a look

</comment><comment><USER17> The idea is great, but the nodes constantly rearranging and floating around (and overlapping) makes the actual "mind mapping" hard to do, at least for me. When I look at something like that, make a few changes on the left, I would expect the right side to stay relatively the same or at least change in a more predictable way.

<comment><USER10> > the nodes constantly rearranging and floating around

Sigh. So there's like three decades of research on interactive graph layout stability. And almost none of it has become available as code. Much of graph layout is like that. Perhaps VR/AR will finally create sufficient incentive to make it more accessible.

<comment><USER18> Any suggestions on where in the literature to get started if I wanted to play around with different graph layout algorithms?

<comment><USER9> I'm also interested, writing my own graph editor as a side project.

<comment><USER10> Let's see, a few very quick and crufty random thoughts... There are a great many open source graph programs available to be played with - which might contribute inspiration. And "sometimes much more easy to get working" images and videos of them. For surfing literature, I mostly use google scholar and scihub. Blog posts seem part of how the software dev community is educating itself and advancing, so perhaps do a post at some point. Perhaps approach the project like "writing a renderer" \- something useful for learning computer graphics, without the expectation that it will escape the zombie fate of most graph libraries. Writing and posting a d3 example isn't hard, and might inspire others. ... Good luck.

</comment></comment></comment></comment></comment><comment><USER19> Act fast and add a signup field so you can get the emails of people like me who want to know when you start a hosted service.

<comment><AUTHOR> Good idea. I added a link to a mailing list, which'll do the job until I make something better.

</comment></comment><comment><USER20> it's not an indented list in Safari or FireFox.

[https://imgur.com/a/AYtbv](https://imgur.com/a/AYtbv)

</comment><comment><USER21> Fantastic launch. It's intuitive, responsive, interactive, understandable, and cross-platform. Thank you.

I'm a longtime user of a piece of Mac software called Tinderbox which I've used use to create mind-maps (linked knowledge trees) and Text2MindMap compares very favorably in that its directness and intuitive workflow allows for immediate and direct visualization.

There's also something about the animation implemented here that for me seems to stimulate my thinking as I add nodes.

Really good stuff here.

Kudos to you for so polished a product.

Good luck.

</comment><comment><USER22> Super neat. Quick bug report.

I started typing as soon as I could. I jotted some notes down and indented with spacebar. After I had 5-6 lines written I noticed that the webapp completely deleted everything I had written and replaced it with something else. I guess the page hadn't fully loaded yet or something. But I would recommend hiding the text view or something until it is ready, so you do not accidentally delete user data.

Otherwise super neat!

</comment><comment><USER23> Looks neat!

Tried 1+ top level nodes and it automatically marked them as a child of first one. Not sure if this is broken or is a feature tho, just wanted to comment.

</comment><comment><USER24> Is there any way to get this to save as a DOT[1] file? I find it less than simple to get my graphs to show up the way I want them placed. [1] [https://en.wikipedia.org/wiki/DOT_(graph_description_languag...](https://en.wikipedia.org/wiki/DOT_\(graph_description_language\))

</comment><comment><USER25> This is great stuff! You should look into integrations with dynalist or workflowy.

Also being able to read an OPML file would be a wonderful add too.

Good work.

</comment><comment><USER26> Ok, this confirms what I had though. Mind maps are just hierarchies with a different layout from normal.

<comment><USER27> Yea, presumably in the visual format you could connect to root nodes together. Or do weird ancestor joins which would be impossible to represent in this tabbed format. But I guess that might be breaking the "mind map rules".

</comment></comment><comment><USER28> Looks awesome! We're in the process of building a knowledge graph and were looking for a more intuitive way to manage the main hierarchy. Adding node autocomplete would a great way to do that, especially if it could pull in existing children and dump them to text.

What's the license?

<comment><USER29> Can you explain a bit more of your knowledge graph / hierarchy? I've been working on something like this myself.

<comment><USER28> We're building a food/nutrition knowledge graph. Goal is to be able to take a product, recipe or restaurant dish that someone ate and determine what type of food it is, cuisine, ingredients, dietary properties and etc.

<comment><USER29> Sounds really awesome - any mailing list or social media where I could follow the project?

<comment><USER28> We have a newsletter sign up form on bite.ai but haven't really emailed anyone yet. The API is coming soon though so we'll probably send out a message when we launch it.

</comment></comment></comment></comment></comment><comment><USER30> Hi, just a few days ago, I had the same problem and no text2mindmap. :(

So I started a similar project but with a different approach: I use a local webserver (written in go, because everything written in go is automatically awesome, obviously) with a filewatcher and a simple websocket to send everything to the browser.

And I use 2 spaces...

[https://github.com/cdreier/mind-surf](https://github.com/cdreier/mind-surf)

<comment><USER30> Ah damn, can't edit a comment?

Wanted to ask if you are interested in merging some ui? Your output looks much better ;)

</comment></comment><comment><USER31> Isn't fully working for me. Windows/Firefox. I can't drag the boxes around or activate the menu drop downs.. sigh. Looks cool though

</comment><comment><USER32> I like the idea of transforming the text into visual representation. This project takes structure defined with tabs and builds beautiful maps. What if apply to static code analysis to produce dependency maps for the program? Or draw the type structure with their usage across the code?

</comment><comment><USER33> CTRL-N is apparently a shortcut for new? Nice thought but this runs into standard navigation supported in OS X and most Unixes of using CTRL-N to go down a line. Kind of hard wired for me to navigate text boxes using CTRL-N and CTRL-P so would recommend another shortcut.

Otherwise very neat!

</comment><comment><USER34> I love this, very simple yet power. Bookmarked for future use. Any chance of an offline version?

<comment><USER35> You can grab it from the official Github page:

[https://github.com/TobLoef/text2mindmap](https://github.com/TobLoef/text2mindmap)

Works perfectly offline. No server necessary :)

</comment></comment><comment><USER36> For a less "floaty" style, this is a project I build some time ago, I think I already posted it here:

[https://josetomastocino.github.io/mindmapit/](https://josetomastocino.github.io/mindmapit/)

</comment><comment><USER37> My antivirus software blocked the site as malicious. I would think it's a false positive but the AV hasn't marked anything bad in the past year --- first time seeing the message. ( Also blocked the Markdown Editor)

<comment><AUTHOR> That's weird. What antivirus do you use? And does it say anything about what caused the block?

<comment><USER37> bitdefender: an infected object has been detected on this page.

doesn't say which objext

</comment></comment></comment><comment><USER38> I was going to make something like this, but I wanted it across all devices, synced to google docs based on yaml. Is there such a thing already?

The use case is really just textual entry on pcs and consumption/light editing on mobile.

</comment><comment><USER39> Xmind has the outline editing mode that I find very useful for this very reason. Sure it's not just a simple text file but it also doesn't require edit and presentation on different places/apps.

</comment><comment><USER40> nice work! doing quick graphs is very easy when you use paper and pen, but it's always been a pain to do with a computer!

I assume this tries to be simple enough, but maybe it would be nice if we could have some extra, quick formatting, like dashes, like in lists (-) to stack elements, or other symbols for different layouts, quick access to colors, etc. I know handling multiple layouts and auto-placement with springs simulation can be tricky, but hey... in any case, thanks again for the work, hopefully it inspires more people to work along these lines!

</comment><comment><USER41> This is really slick. I never knew about (the now defunct) text2mindmap.com, but it seems like something I would get a lot of use out of for doing quick brainstorming sessions. Thanks for sharing!

</comment><comment><USER42> Very nice. But are the "File" and "MindMap" menu items supposed to do something? (like export the file). On both Safari and Chrome they don't seem to have any behavior.

<comment><AUTHOR> Yeah sorry about that, it's fixed now.

</comment></comment><comment><USER43> This seems to be a tree. How does one make a "graph" out of it. I want to link a single node to multiple other nodes without that node being parent.

For example.

Trump <-> Hillary

Trump <-> Ivanka

Hillary <-> Chelsea

Ivanka <-> Chelsea

Needless to say brilliant work

</comment><comment><USER44> Nice. Could you add google login so my students could save their work?

</comment><comment><USER45> This is really fantastic. Such a simple concept that works so well.

</comment><comment><USER46> Awesome! Can you add a license to the Git Repo? Thanks!

</comment><comment><USER47> This looks very cool, thank you! I have an issue, though: Can't open the File and Mind Map menus, neither on Firefox nor Chromium nor Opera.

<comment><USER48> Same. Tried in Safari and Chrome. Upon inspection, looks like something is going wrong with the styles. Changing .dropdown-content{position:absolute;} to position:fixed; brought them back for me.

</comment></comment><comment><USER49> This is very helpful. Just yesterday I was using mindnode and thinking it is overkill for 80% of my mindmapping tasks. Thank you.

</comment><comment><USER50> License?

</comment><comment><USER51> This is really good because of the attention paid to the ease and ergonomic physics of dragging the nodes. Keep up the good work.

</comment><comment><USER52> Very cool. Might be nice to have standard positions so things are organized by default and don't require additional clicks.

</comment><comment><USER53> Hi Tobias, Very elegant! Thank you for sharing it. I was wondering if you could share a non-minified version of mindmap.min.js?

</comment><comment><USER54> Failing my least astonishment

Distinct top level entities do have edges (no distinct roots).

Identically labeled leafs are not merged (have multiple parent nodes)

</comment><comment><USER55> Simple and cool!.

A bit of curious - I see your blog is hosted on github. Is this app also hosted in github? How is that achieved?

</comment><comment><USER56> Simply Great, super neat. Especially that drag around on the nodes. Thank you for sharing.

</comment><comment><USER57> Really cool tool, thanks! Maybe you could add bold text as well? Just a thought!

</comment><comment><USER50> Looks like this could be useful for rdf/linked-data. Maybe for json-ld too.

</comment><comment><USER58> Clean and intuitive UI, thank you for creating and sharing.

</comment><comment><USER59> I cant seem to access it, is it down?

</comment><comment><USER60> bitdefender just freaked out on visiting this page. just a heads up

</comment><comment><USER61> Neato!

</comment><comment><USER62> Fabulous.

</comment><comment><USER63> this is great</comment>


NASA successfully launches 5 Jet Stream monitoring rockets  - <AUTHOR> http://www.wired.com/geekdad/2012/03/nasa-atrex-rockets/

<comment><USER2> My wife and I went to Chincoteague on vacation once and I had no idea they had a NASA facility out there. They have a nice little visitors center and info on the rockets they launch, including schedules. I wasn't able to see one but I will definitely be heading out there for a launch at some point.

</comment><comment><USER3> I'm sure NASA just invent important sounding work so they can play with rockets.

...do the Jet Streams 'really' need monitoring? they have probably been doing fine for years!</comment>


Beyond ACTA: Next secret copyright agreement negotiated this week—in Hollywood - <AUTHOR> http://arstechnica.com/tech-policy/news/2012/02/beyond-acta-next-secret-copyright-agreement-negotiated-this-weekin-hollywood.ars

<comment><USER2> This is just exasperating.

For all the work they're putting into creating a copyright regime, they could do build their own netflix and put everything on it, charge $10/month and fix their piracy problem like _that_.

Makes me wonder if they sort of enjoy being the evil villain in this whole thing.

<comment><USER3> Why would they want to charge $10/month for their full libraries when the average blockbuster DVD/Blu-Ray release sells 1-2 million units a month from each individual movie?

Why would they want to charge $10/month for their full libraries instead of getting a couple million from Starz, a couple million from HBO, a couple million from Showtime, etc just to license a couple movies at a time for their networks?

Why would they want to charge $10/month for their full libraries when they get millions to sell a couple new releases at a time to cable operators for On Demand rentals?

Simply licensing everything for internet streaming for a couple bucks a month solves the piracy problem, but it also completely destroys their profits. They make far more money with the current system of physical discs, staggered format releases and exclusive licensing deals for different segments of their library with different distributors than they would make giving it all away for pennies per movie on a streaming service.

What did Netflix take in last quarter in revenues? $800 million or so? That's just 4 times the DVD revenue from Avatar. One movie.

<comment><USER4> why would they spend insane amounts of time and money on brokering horrible laws? Even if these laws did pass today, they would surely crumble in a few years?

Why would they work so hard, to gain the hatred and displeasure of the very public that pays money to watch their work, and makes them rich in the process?

As the parent says, may be they enjoy being the villain in this whole drama.

If they want, they can kill netflix overnight. heck, they can charge 50$ a month, and many people would gladly pay (I know I would) _even_ if the movies come to streaming a full month later than their theater release date.

How long do you think they can keep playing this cat and mouse game? The only _real_ winners in this entire shit, are the lawyers.

<comment><USER3> I think you, and others, underestimate the enormity of the revenues the movie studios are generating.

The MPAA represents 6 studios that produced about 15% of theatrical releases last year. They only released 12 of the top 25 movies in theaters too. The MPAA studios alone generate about $40 billion in revenue a year; I didn't try to add up all the other studios, but you can imagine the total revenue is enormous. What they spend lobbying for these laws is a pittance in comparison.

Total box office gross was $32 billion last year. Let's be generous and say the MPAA got 50% of the box office sales despite having less than 50% of the top movies. That leaves $24 billion in revenue from their films each year not including the theater releases. That's $24 billion from physical discs, licensing to cable providers, licensing to TV channels, licensing to premium cable channels, licensing to the existing streaming services, etc.

If the MPAA studios launched a streaming service at $50 per month, this would displace most of their revenue from other distribution models -- people would buy far fewer DVDs and they simply wouldn't get the agreements with cable networks, premium channels, etc. if customers can already get the movie from this website a month after theater.

To make up for that revenue they would have to find 480 million subscribers at $50. Do you think they can? I doubt it at that price point; that's more than most people spend on movie consumption across all channels now. Even if they could do it, those 480 million subscribers would only replace the revenue of the 6 MPAA studios, not the other 85% of the movie production market.

Whenever I see a "why don't they just give us what we want and stream everything like Netflix" suggestion, I see "why don't these companies just burn 85% of their profits", because that'd be about the same as far as their financials go.

<comment><USER4> okay, thanks for the numbers. they sure are enormous.

some points though:

 _people would buy far fewer DVDs_ people are anyway not buying DVDs, whether the studios like it or not. the studios can't do anything about it. I can't remember the last time I bought either a movie DVD or a music DVD. I go to spotify or netflix, or a movie theater, so simply won't watch it, if DVD is my only option. Others might be different though.

 _I doubt it at that price point_ If I go to the theater once, the absolute minimum I spend is 20$ (ticket + popcorn), and this is for a single guy. If I had a family, it would be in the 50-100$ range, especially in big cities. so 50$ is actually much cheaper, and my guess is many people would go for it.

One thing is sure - the whole situation is fucked up. It has to change, it _will_ change. It is just that the transition period is going to be awful. And we get to watch it, and be a part of it.

<comment><USER3> > people are anyway not buying DVDs, whether the studios like it or not

You're really out of touch with reality. In 2011, the top 100 movies sold 146,455,878 DVD copies (estimated, not all retailers disclose exact numbers).

Here's last week's North American DVD (non-Blu-Ray) sales:

<http://www.the-numbers.com/dvd/charts/weekly/thisweek.php>

> If I had a family, it would be in the 50-100$ range, especially in big > cities. so 50$ is actually much cheaper, and my guess is many people would > go for it.

This is working against you... in arguing that people would spend $50/mo for this because it's an alternative to theaters, you're also arguing it would cannibalize the revenue from box office sales. Remember it was 480 million subscribers for just the MPAA's 6 studios to break even if the box office revenue was untouched.

There's only around a billion computers in the world -- so here's a good recap of your plan: Get every single computer owner in the world to subscribe to a $50/month studio-backed streaming service. If they can't get every computer owner in the world to subscribe, then they will make less money than they do today not offering the service.

That's all it takes to see why the service doesn't exist.

<comment><USER2> Do you have numbers on year-over-year sales for DVDs?

While they're still big, I would assume that they're declining.I think what the parent commenter was trying to make as the streaming is how people are going to be consuming information. Not everyone's there yet, of course, but thats where things are shifting to.

It would make sense for MPAA to set itself up to succeed in the coming world where the majority of people want to stream their entertainment,rather than trying to preserve a model that is slowly being phased out.

<comment><USER3> What would make sense is to set itself up to succeed in the streaming world AND try to preserve a model that is slowly being phased out. Which, unsurprisingly, is exactly what they're doing. They ARE licensing movies to Netflix, Amazon VOD/Prime, iTunes, Hulu, etc. after all. They're just picking and choosing what parts of their catalog to stream and when to offer it such that it won't cannibalize the revenue from DVD sales and other sources they don't need to give up yet.

All they have to do to maximize revenue in the coming world is to shift timelines -- release more movies faster on the streaming services as the effect of doing so has less of an effect on other distribution channels.

<comment><USER2> I would agree with you, but they're trying to preserve the dying model's functions in the new model, which doesn't operate like that.

I completely agree with you, that doing something like you mentioned makes sense, but it doesn't excuse them from trying to censor the internet, buy congress and be an online bully that gets to take down entire sites for actions their users have done.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Compulsory licensing. Shorter copyright terms. These are the reasonable responses.

In politics, you've got to define the playing field if you want to win. If you let the big copyright holders do all the defining, we get more of what we've gotten. We need a different viewpoint to balance things out.

<comment><USER6> It's time to not just resist further expansion of copyright and copyright enforcement, but to push back.

* Reduce copyright terms to the original 14 years.

* Retroactively.

* Make copyright non-renewable

* Require registration of works with the copyright office

* Assess an annual fee proportional to revenue earned from the copyrighted work

* Provide for stiff penalties for asserting copyright over works you do not hold the copyright to.

* Affirm that public domain works can never be copyrighted.

Make them fight on those terms.

<comment><USER7> The content cartels would be quite alright with these terms (they'd of course fight them in the short term, though). Their primary goal is to revert us to the days of receive-only information display terminals (TV). To actually push back:

 __* A right to Internet access (RAND terms, no 'identity'-based blacklisting by government or ISP)

 __* A right to personal computing devices (and require unlockable bootloaders)

 __* Decriminalization of anything copyright related, civil penalties only.

 __* A right for one's computing infrastructure to stay intact throughout court proceedings. (Seizing someone's servers gags them without due process).

</comment></comment></comment><comment><USER8> I live in Japan and here I have seen some talk/debate of wether or not to join the TPP on TV and in the news. My first time hearing about it was on Japanese TV. Many Japanese are nervous about the effect of IP restrictions on the manga/self-publishing industry in Japan:

[http://en.wikipedia.org/wiki/Trans- Pacific_Strategic_Economi...](http://en.wikipedia.org/wiki/Trans- Pacific_Strategic_Economic_Partnership#Controversy_over_Intellectual_Property_.28IP.29_provisions)

There is a desire not to be left out of an important partnership, but they are wary to end up on the exploitive end of a bad deal. I think everyone is still trying to figure out what is in this thing.

</comment><comment><USER9> The Internet is disrupting old media, content industries, governments and democracy, being the ultimate platform for disruptive businesses, for freedom of speech, for the mass distribution of leaked secrets, for organizing revolutions.

After years of laughing about it and ignoring it, 2010 was the year that broke the camel's back, with the Wikileaks releases and the Tunisian revolution and the Egyptian revolutionand with iTunes and Amazon starting to influence people over what's cool or not.

It's freaking them out, as people are suddenly able to think for themselves.

This indeed is the year of the storm, the year in which they are trying to put the genie back in the bottle.

</comment><comment><USER10> Just occurred to me: once it'll become too costly to consume, will people just start being creative and make things more? That's a benefit in the long run, I guess.

<comment><USER11> They've trained the public for generations to _not_ use their imagination and creativity. The withdrawal is probably painful enough to keep them going for a while even past that point.

</comment></comment><comment><USER12> Did we expect them to go quietly into the night?

</comment><comment><USER13> I say secret deals with corrupt politicians means no comprising with these assholes

We should now on assume that every politician is bought and paid for until otherwise proven innocent.

The tech industry needs to take the kid gloves off

<comment><USER9> The tech industry is operating within the limits imposed by the government and their shareholders. If the FBI were to shut Google down, even for a couple of days, that would be devastating to their bottom line.

That's why there isn't much they can do about it, other than to inform people of what's going on.

Ultimately the power lies with the people. It is the people that have to call their representative, or take it out on the streets if necessary, or to boycott the companies involved.

Also, we as developers, must fight back by promoting and working on alternative protocols for distributing content that bypasses firewalls and protects the privacy of users.</comment></comment>


HNPod #4 is out - Yahoo, Digg, Sparrow, Bubblewatch - <AUTHOR> http://hnpod.com/episodes/hnpod-4-yahoo-digg-sparrow-with-ilya-lichtenstein-and-dave-peck#

<comment><USER2> I've really enjoyed the recent episodes, thanks! (I especially like the podcast recommendation bit.)

FWIW, I found Ilya's audio quality to be really swishy. Might want to make a note of the setup and try something else in the future.

</comment><comment><USER3> The link to Tranceatlantic podcast in the show notes is for iTunes. If you don't use iTunes here's the website: <http://djbissen.com/>

And the RSS feed: <http://metatechnik.com/Podcasts/BissenPodcast34.rss>

<comment><USER4> Updated now, thanks.

</comment></comment><comment><USER5> The actual news section of the podcast did not begin until 13 minutes after the show started. In my view this is much too long. I'd request to limit guest chatter to a few minutes per guest.

<comment><USER6> We did this with the thought that HN is as much about news as it is about a community of makers building cool things and great businesses. I enjoyed learning more about MixRank, for example. I suppose to each their own.

</comment></comment><comment><USER4> BTW I'm looking for more guests in coming weeks. <http://www.hnpod.com/be-a- guest>

</comment><comment><USER7> FYI, the hnpod site does not appear to work on the iPhone safari browser.

<comment><USER8> Fair point - it was hacked together in just a few hours. It's hard to allocate time but I will address this over the next few weeks.</comment></comment>


Adderall Tolerance - <AUTHOR> I'm a 32 year old computer science student. I've been on Adderall since I was 14.
I'm on 40mg a day and it's not really working anymore. I don't want to increase it.
I did some Googling and I was thinking about taking Ritalin for a year to get my tolerance down.
Has anyone run into this before? What did you do? <comment><USER2> It doesn't take 18 years to develop tolerance, most likely you are just getting older so your body can't recover from the drugs quickly enough any longer.

</comment><comment><USER3> I've been on it for four years.

Many times I've thought that I've built up a tolerance, but in every scenario, it turns out that I was getting close to malnutrition or dehydration.

Try drinking much more water throughout the day. Also try eating a lot of carbs each night. These two things have made a tremendous difference for me.

</comment><comment><USER4> Myself and a few others I know take Vyvanse instead of Ritalin or Adderall. I haven't had built any resistance yet but it's only been a year or two.

I like it better as it feels less harsh on my system. My doctor said that people will metabolize each type of ADHD medicine differently. Maybe a different compound would work better for you.

</comment><comment><USER5> Not sure...so just throwing out ideas here. Perhaps try meditation for 20 minutes or so a day and twice daily exercise to help too. Maybe go off the Adderall for a week or two...try to step up the meditation/exercise (maybe coffee too)...then try the Adderall again? Or take it less frequently, like 4 days a week?

</comment><comment><USER5> One other thought. Check the manufacturer of your Adderall. The "potency" can vary significantly between different manufacturers.

<comment><USER6> This exactly. I had to switch pharmacies from Walgreens to another local chain because of this. All of a sudden it seemed like the medication wasn't working at all. One day I was out and had to use my "backup" meds which were a few months old and I noticed they looked slightly different. Taking them was like the first time I ever took Adderall, literally felt like my heart was going to explode.

I'd suggest filling your next prescription somewhere else and see if that makes a difference. Not just a different location, but a different pharmacy entirely.</comment></comment>


Show HN: Instasaver- My latest weekend project - <AUTHOR> http://crgwbr.com/details/22/instasaver_a_nice_way_to_read_instapaper/

<comment><USER2> This looks really cool, Craig! Signing up now, fantastic idea!

</comment><comment><USER3> Neat! I'll share with a few of my friends who use Instapaper.

</comment><comment><USER4> Very cool!</comment>


Do dead guys always get the last word? - <AUTHOR> http://scripting.com/stories/2011/10/22/doDeadGuysAlwaysGetTheLast.html <comment><USER2> While I agree that iTunes sucks (at least in comparison to other Apple products), apparently Steve rarely pulled any punches , so this is not out of character. From most of the book quotes that I read, he appears to have said most if not all of these things to the parties involved directly and has famously voiced many of them in public before as well (re: Microsoft in particular) just not in a Blog. I think it is safe to assume that he was trying very hard to be around for the books release (even pushing up the release date) and was not trying to hide behind anything. I am not sure I agree with all his views, however I do not fault him for trying to get his real voice out there as there were certainly a lot of stories written about him that he was not able to answer directly and now there is no question about where he stood on matters.</comment>


Almost half of all Americans work in low-wage jobs - <AUTHOR> https://www.cbsnews.com/news/minimum-wage-2019-almost-half-of-all-americans-work-in-low-wage-jobs/ <comment><USER2> Key numbers from the study [1]:

44% of U.S. workers are employed in low-wage jobs that pay median annual wages of $18,000... Most of the 53 million Americans working in low-wage jobs are adults in their prime working years, or between about 25 to 54, they noted. Their median hourly wage is $10.22 per hour.

I'm trying to reconcile this with the household median income of $63,179 for the US. The only way I can make it work is if most of these workers have a spouse who makes significantly more than they do or if they are working multiple jobs (i.e. more than 40 hours per week).

[1] [https://www.brookings.edu/blog/the-avenue/2019/11/21/low- wag...](https://www.brookings.edu/blog/the-avenue/2019/11/21/low-wage-work-is- more-pervasive-than-you-think-and-there-arent-enough-good-jobs-to-go-around/)

<comment><USER3> According to [2], the average household size 2.53 giving a per-capita income of ~$25k if the household number is $63k.

That seems feasible if 44% of workers have $18k in wages and 56% have something potentially higher, or multiple jobs are worked as you noted.

[2] [https://www.statista.com/statistics/183648/average-size- of-h...](https://www.statista.com/statistics/183648/average-size-of- households-in-the-us/)</comment></comment>