An interview with James Gosling : The Setup - <AUTHOR> http://james.gosling.usesthis.com/ <comment><USER2> I initially found it surprising that most of the professionals interviewed for The Setup use less than a dozen applications on a regular basis. I hoped to learn about some interesting tools used by others, but it was mostly a standard setup consisting of a terminal, web browser, and editor.

That made me think, so I started to analyze my own setup and realized that it's actually very similar. I spend most of my time in just a few applications regardless of a platform. I also noticed that initially I'm very excited about apps that are designed for a specific task (eg. a dedicated GTD tool) but in time I tend to gravitate towards more generic solutions (eg. a plain-text file edited with Vim). The same also applies to web and mobile applications.

That makes me wonder, do we actually need millions of apps if people don't use them in the long run? Don't we spend too much effort on playing with tools? How does it affect startups?

<comment><USER3> > _it was mostly a standard setup consisting of a terminal, web browser, and > editor_

That's because anything that matters in software development can be accessed through a terminal, through a browser (docs, mailing lists) or through your preferred editor.

It says little about what you're actually using.

Also, software development is fucking hard anyway, and by using too many tools you're passing this threshold where any productivity gains are lost in the learning process associated with picking up new technology.

</comment></comment><comment><USER4> "I do most of my programming in NetBeans, although I use vi a fair amount."

Is this like a joke? The guy wrote one of the first Emacses... I am disappoint.

<comment><USER5> And Sussman switched to python. Religious wars are for followers, not Creators.

<comment><USER6> Sorry but do you have sources to back up your assertion?

I took a class with Prof. Sussman, and even worked as an undergraduate researcher for a summer, and I know for a fact that his current work is still being done in MIT Scheme. The classes that he teaches currently Adventures in Symbolic programming, and Structure and Interpretation of Classical Mechanics are also in MIT Scheme.

Finally, when I asked him about his opinion on Python and he put it this way "they wanted to have a language that they could use everywhere and also have it work with robots [describing the new intro to EECS course at MIT] so they picked Python."

So I strongly doubt the veracity of your statement. I think you're confusing MIT EECS department's switch to python in many classes as a sign that Prof. Sussman has personally switched to Python, which is very misleading.

<comment><USER5> No, just referencing a well-known event; but it seems you're right that he's not teaching that course any more <http://news.ycombinator.com/item?id=531490>

However, he did say that _starting off with python makes an undergraduate's initial experiences maximally productive in the current environment._ [http://cemerick.com/2009/03/24/why-mit-now-uses-python- inste...](http://cemerick.com/2009/03/24/why-mit-now-uses-python-instead-of- scheme-for-its-undergraduate-cs-program/)

fun fact: norvig switched to python ( _for his textbook_ ) <http://news.ycombinator.com/item?id=1803815>

It's horses for courses (or ophidia for courses in this case).

</comment></comment></comment></comment><comment><USER7> I liked to two things

1\. The guy has three kindles. I have one and I use it a lot. I'm not sure how or what I'd do with another two. One works perfectly.

2\. His iPad lives in the bathroom and has replaced the magazine stack.

Brilliant

<comment><USER8> Maybe a bit unsanitary? I toss out old Economists after a few weeks, but an ipad is something that's just going to sit there.

<comment><USER9> I don't think that the iPad replaces _every_ possible use of a stack of paper in a bathroom, just the reading part.

</comment></comment></comment><comment><USER10> At last someone with a more messy setup than the usual stylish "big mac at work / smaller mac at home" interviewee. Thought I was the only one with too many computers (used and unused) at home.

<comment><USER11> This is an important comment for the string of UsesThis entries. I can almost guess what is going to be said on these and this one was a bit of fresh air.

My fiancee recently came up to me and asked me why there was a computer in a box under the bed, when I replied saying it was my first tandy and might run someday she just rolled her eyes.

It is nice to see there are some of us computer horders out there!

</comment></comment><comment><USER12> He wrote his own presentation software. I'd like to get my hands on a copy.

<comment><USER13> <http://kenai.com/projects/huckster/>. It's linked from the article.

<comment><USER14> doesn't look like there's a binary, just source. Still, shouldn't be that hard to build.

<comment><USER15> I love Keynote on the Mac, but I also love trying new software. I just tried to build it without success on Mac OS 10.6 using Ant 1.8.1. Any suggestions?

\- I cloned the Mercurial repo (my first time with a VCS),

\- I downloaded Ant [1], installed it [2], and successfully built a "Hello World" build.xml [3] (I have some experience in the command line),

\- I ran

      ant -buildfile /Users/mattparcher/Huckster/build.xml

_Producing:_

      BUILD FAILED
      /Huckster/nbproject/build-impl.xml:351: The following error occurred while executing this line:
      /Huckster/nbproject/build-impl.xml:160: Compile failed; see the compiler error output for details.

[1] <http://ant.apache.org>

[2] <http://www.asceticmonk.com/blog/?p=388>

[3] [http://www.andyjarrett.co.uk/blog/index.cfm/2007/6/27/Instal...](http://www.andyjarrett.co.uk/blog/index.cfm/2007/6/27/Installing- ANT-on-Windows-and-or-Mac-OS-X)

<comment><USER13> Figure out where the compiler output goes?

</comment></comment></comment></comment></comment><comment><USER16> _"In the closet I've got a home-built system that I use for network storage. It runs OpenSolaris and has 5 2Tb drives: mirrored with a hot spare for a total of 4Tb of usable storage."_

Just curious, what would an individual need that much storage for? I ask because I'm living pretty comfortably with the 320Gb hard drive in my MBP. Is it digital photographs, or maybe raw video footage?

<comment><USER17> Some of my friends have archives of data going back to 15 years. You end up accumulating a lot of stuff that way.

</comment></comment><comment><USER18> Beats the hell out of my single laptop setup that gets lugged around everywhere I go

<comment><USER19> Why? I've come to appreciate having a single machine & not having to worry about syncing stuff between machines, maintaining multiple development environments, etc ... While I'm impressed by the sheer amount of hardware in his household, I know it'd be a nightmare for me.

<comment><USER20> Dropbox would be a viable solution for that though.

Based on the sheer amount of hardware in his house (and who James Gosling actually is), I don't see why he wouldn't be able to afford a premium account.

<comment><USER21> He uses Dropbox. I've seen the icon on his Macbook Pro :)

</comment></comment></comment></comment><comment><USER22> He's not going to be too pleased if Java isn't supported or maintained on Macs in future.

<comment><USER23> There's always a way. If Apple decided not to include a Java runtime with their operating system, that's fine. The important bit is that it will become easy to install.

I wouldn't mind setting up my new computer with a fresh OpenJDK (when/if this one becomes the de-facto JDK to use on OS X platform).</comment></comment>


Uchronia: An Alternate History List - <AUTHOR> http://uchronia.com/ <comment><USER2> The oldest novel I can think of where alternate history has a major role is _Orlando Furioso_ , published at the beginning of the XVIth century. If I remember correctly, the first scene is a battle were Charlemagne's army is beaten by a Saracen army. Later on, the Saracens lay siege to Paris. The world is mostly realistic, with an alternate history and elements of fantasy (griffons, magic spells). _Orlando_ is much more than an uchronia, it is poetic, epic, fantastic, funny and sometimes morally challenging. This wonderful book is not mentioned on the page "Oldest" of this site where the oldest _novel_ was published in 1732.</comment>


pifs - Avoid disk space usage by saving your files in the digits of Pi - <AUTHOR> https://github.com/philipl/pifs <comment><USER2> An excellent filesystem. I've already reduced my storage capacity by 73%. Keep me informed of any upgrades in future.</comment>


BitBounce – Email paywall that lets you get paid to receive marketing emails - <AUTHOR> https://bitbounce.com/ <comment><USER2> I have been working in anti-spam since 2003. BitBounce will fail just like GoodMail and Habeas before them. Why? Because marketers won't pay to reach your inbox when they know it won't improve their conversion rate. And after all, the email's purpose is to convert actual business; not just to reach your eyeballs.

What value is there in my newsletter or advertisement reaching you if it's not appealing enough that you would want to receive it anyhow? And if you wanted to receive it, then that probably means it wouldn't have been blocked by the spam filter.

In fact, all modern spam filters work on the premise that email has value if the end user interacts with it materially. Spam and low grade marketing receives very little interaction; this is why it is rejected.

The BitBounce guys are burning crypto hype. When that runs out, they will join the pile.

<comment><USER3> This. Also this would be ripe for abuse, I can easily see nefarious actors setting up email accounts just to receive the paid emails and get money.

</comment></comment><comment><USER4> I don't get it.

Why would anyone comply with this system and pay for their messages to be delivered? So long as nobody is using it (which is the current state of affairs), users of this system will see all their email, legitimate or not, ending up in the "unpaid" box, and nothing is accomplished.

I'm reminded of the famous old "Your post advocates a ____ solution to fighting spam" form-letter. This proposal checks quite a few of its boxes.

[https://craphound.com/spamsolutions.txt](https://craphound.com/spamsolutions.txt)

<comment><USER5> Spam works great because it's cheap to send and because the SMTP protocol and everything around it is rather simple to fool. Just think about mails with "From: email@example.com" or "Subject: lab grade 1,2,3,4,5-Pentahydroxypentane for ur er3kt1on" etc.

The main problem, as I see it, is that a sender can send to any number of recipients as many messages as they can. It's a one-to-many push model from sender to recipients. Filtering out all the trash is done on the receiver side.

This model obviously does not work. SMTP is unfixable, something new should be made.

What about making sure the sender is serious and putting the receiver in the loop of accepting the sender? This way the receiver controls what it wants to receive. If it's spam, don't receive it. Furthermore, bad senders should be penalized, so there's a form of "trust" involved as well. Also, spam-friendly ISPs and spamming botnets would become useless.

TL;DR: recipient-controlled proof-of-work puzzle given to sender.

I'm thinking of a flow, which would be something like this (just a sketch to describe the idea):

      1. Sender announces intent-to-send "this is my cryptographically good identity, I want to send a message of x bytes with hash y. Please send me the proof-of-work."
      2. Receiver checks if the identity is in a whitelist (trusted sender); if so, send a trivial puzzle. If not, send a default hard puzzle, 5 minutes to solve or whatever.
      3. Proof-of-work sent and solved by sender, solution sent to receiver.
      4. Receiver verifies proof-of-work and sends one-time token to sender.
      5. Sender sends one-time token and the message.
      6. Verify valid token, drop everything if invalid.
      7. A human may classify the message as junk, at which point further mails from the same sender get penalized with higher puzzle strenghts.

If a 5 minutes puzzle is not enough, make it longer, the point is, the receiver controls all this.

The token is used to avoid sending messages at all if the sender is scammy (to avoid potentially large messages as part of the handshake).

If the sender was legit and the message was not some unwanted marketing drivel, the recipient can whitelist the sender, letting it avoid the puzzle on later messages.

Given this, over time the situation would "stabilize" in that folks who mail each other regularily could do so with ease, and spammers would have to solve evermore complex puzzles to get their message through. It would raise the price of spamming.

Also, for new contacts, it would still work just fine: either take the default puzzle solving time penalty, or pre-emptively whitelist the sender offline (type in id).

The idea is that the cost of sending has to go skyhigh for messages which abuse the system, and valid messages should stay zero-price. Otherwise, if everyone is equal when it comes to sending messages, I'm afraid the spam problem cannot go away.

There probably are bugs in the above description, so please be gentle; my point is the SMTP model (and by extension SMTP itself) is unfixable and something new should take its place. Something more robust and more suitable to resist "byzantine faulting users" and other malicious actors.

Edit: list, typo

<comment><USER4> What you're describing here appears to be similar to HashCash (which was first proposed in 1997!), but with extra steps. It suffers from all the same problems which resulted in that scheme not being used.

<comment><USER5> Good point! Indeed HashCash is very similar. And probably where I actually got the main idea, as I'm absolutely certain I read about HashCash long ago. Seems that the idea was left to ferment in my head after all these years.

One difference is a more interactive proof-of-work procedure where the receiver controls the amount of sender work required; with a zero amount of work (for trusted senders such as mailing lists and known people), the communication would basically behave like e-mail does today.

Something like HashCash seems to me like a good idea in general. I don't know why it didn't really take off.

</comment></comment></comment></comment><comment><USER6> Yet another Final Ultimate Solution to the Spam Problem (FUSSP) [0].

The ol' "form letter" [1] still makes me laugh every time I see it.

[0]: [https://www.rhyolite.com/anti-spam/you-might- be.html](https://www.rhyolite.com/anti-spam/you-might-be.html)

[1]: [https://www.dmuth.org/fussp/](https://www.dmuth.org/fussp/)

</comment><comment><USER7> We have a service that gets slammed by bitbounce messages requesting us to pay and I make sure to mark every single one as spam which shows why this won't work.

I can't be the only one doing that.

<comment><USER8> Can't you just sign up to bitbounce, and bounce the demands back?

<comment><USER7> Good idea but I don't want to support the service in any way.

<comment><USER8> The service doesn't really bring anything new though, all you really need is to autoreply asking for payment, if you want to go the extra mile you can set up some way for people to actually pay you, I don't think that part would actually be required though.

</comment></comment></comment></comment><comment><USER9> So why would advertisers pay for this? Surely people will sign up for thousands of email accounts, subscribe them all to every mailing list, then collect free money?

Back when there were "get paid to view ads" toolbars, they wee full of intrusive code that would ensure that you are looking at the ads and not just leaving your computer running unattended. I don't think this will fly for email, so fraud would be rampant

</comment><comment><USER10> I was actually quite excited until the "we use our own crytocurrency" part.

This seems like an almost trivial service to implement yourself that could use bitcoin, or PayPal.

Plus it suffers from the traditional failure of challenge response spam blocking, in that it creates backscatter from spammers falsifying their "from" address.

</comment><comment><USER11> I posted on a Google forum recently and got two BitBounce replies in an hour, presumably from users autosubscribed to new threads. I'm going to need to start blocking all replies with the BitBounce template.

</comment><comment><USER12> I love never emailing anyone that signs up to my list with a bitbounce email. I'm not going to incentivize fake users signing up on mechanical turk to pollute my db.

<comment><USER7> It's ridiculous — we get bitbounce account signups to our newsletter constantly only to request payment from us when we send them the email _they requested_. It's beyond idiotic

<comment><USER13> That sounds comedically frustrating!

</comment></comment></comment><comment><USER14> This idea has merit, advertisers pay for access to our lives every which way from Sunday - except for email. But this will not be the solution.

Execution matters and it looks like the company is shutting down or close to it.

The ceo's twitter feed is, umm, interesting. Looks like he recently fled the US to the UK because running a business in the US was too hard and one can only assume the sec is on their heels. He also tweets about going through divorce with his co-founder and making layoffs.

According to Alexa, their website traffic has dropped from top 11k to 49k site in the last 90 days alone (that's all Alexa rankings show).

Someone mentioned it being an ICO, their ICO funds (yay for blockchain wallets being public) are basically empty after raising $12million two years ago.

</comment><comment><USER15> Isn't it the same thing that earn.com does? Plus you get a chance to read the entire email?

<comment><USER16> Yup!

</comment></comment><comment><USER17> I sometimes work on the tech support side and I love when people email in, I respond with the answer, only to have my email come back with BitBounce. The really great part is when they are all upset that they haven't received an answer.

</comment><comment><USER18> Great idea! I really wanted to use this...but then I dug into how it worked.

You have to use their Credo cryptocurrency to get your email through / you receive Credo when someone pays. Which no one has and no one should have. They probably take a fee on every payment.

Once you get Credo you probably want to exchange it for USD or another crypto that is more broadly used and accepted at other merchants. How do you do that? Through their exchange which they take a .25% fee to buy sell.

So they double dip on a micropayment of a few cents.

I wonder which part of this enterprise will survive in the long run...the email service or the exchange or neither once the ICO money runs out

<comment><USER7> None of it because the idea does not work for a number of documented reasons. This is not the first time this has been tried.

</comment></comment><comment><USER19> Facebook, of course, has blocked the ability to post a link to this site.

</comment><comment><USER20> Good luck getting critical emails or confirmation emails

</comment><comment><USER19> I like this idea. I set my price to a dollar. If you care enough to pay me to see your ad, I'd watch it.

<comment><USER21> You don't mind that EVERYONE who isn't on your contact list is going to be asked to pay you?

> The software will automatically ask those outside of your contact list to > pay your inbox fee to send you emails.

</comment></comment><comment><USER22> Offtopic, kudos for linking "featured at" banners to actual mentions. I wish more landing pages did that.

I don't like the product, although I like non-crypto parts of the concept. I might like a self-contained version of it that worked on whitelists and email filtering rules.

</comment><comment><USER23> This is such a dumb service. Emails just get unsubscribed or reported as spam.

</comment><comment><USER24> This reminds me of how Twitch streamers filter viewer comments.

Many streamers set up a system where you can pay for your message to be guaranteed read by them or even published on screen for everyone.

</comment><comment><USER25> Total scam. On what planet does letting a dubious company hijack your email service and demand money from anyone who sends you an email count as a reasonable product? Dubious excuse to create an ICO at the expense of exploiting people's greed - a greed that will never be rewarded.

That's without even considering how fundamental the flaws are in paying people to receive marketing

</comment><comment><USER26> > businesses who what to reach you

This typo is in the first paragraph on your website. The very first paragraph.

</comment><comment><USER27> This has very little to do with email. They basically just pay you to view ads.

Things like this have existed forever and you don't your own custom cryptocurrency to facilitate it.

</comment><comment><USER28> first sentence gotta typo? "BitBounce is an email paywall that blocks spam and lets you get paid to receive marketing emails from businesses who _what_ to reach you."

</comment><comment><USER29> > BitBounce ... who _what_ to reach you.

A typo there.

</comment><comment><USER30> It should be possible for the viewer to select a different dollar rate , everyone's time has a different value, so it makes sense to read only the emails who are willing to pay you for your time to acknowledge their offer.

*Outside of the personal relationship

<comment><USER21> Right on the site:

"Set a price for your attention - Set a paywall price that businesses need to pay to send you marketing emails. "

<comment><USER30> Thanks I missed that one :)</comment></comment></comment>


Amazon Scout - <AUTHOR> https://blog.aboutamazon.com/transportation/meet-scout <comment><USER2> Pretty sure in some neighborhoods (most?) that'll get picked up, cracked open and pillaged. And how many boxes can that thing even carry?</comment>


A Lunar Nuclear Reactor - <AUTHOR> http://www.technologyreview.com/energy/23247/

<comment><USER2> Does this bring the potential for nuclear moon pies?</comment>


Readability Algorithms Should Be Tools, Not Targets - <AUTHOR> https://www.smashingmagazine.com/2020/05/readability-algorithms-tools-targets/ <comment><AUTHOR> Thought this was worth posting, since tools like Yoast come with these readability checkers built in, and it can be way too easy to treat their results like gospel at the expense of your writing/style.

Trust me, I know. I made that exact same mistake back when I used their SEO plugin, and I suspect it hurt the quality of many of my old news articles as a result of that.</comment>


Trying Not to Try (2016) - <AUTHOR> http://nautil.us/issue/22/slow/trying-not-to-try <comment><USER2> Ancient Chinese civilization:

 _When I first began cutting up oxen, all I could see was the ox itself. After three years, I no longer saw the ox as a whole. And now—now I meet it with my spirit and don't look with my eyes. My senses and conscious awareness have shut down and my spiritual desires take me away. I follow the Heavenly pattern of the ox, thrusting into the big hollows, guiding the knife through the big openings, and adapting my motions to the fixed structure of the ox._

Modern technological civilization:

 _I trained a RNN / CNN / GAN on enough oxen that now it controls the knife precisely, given a stream from stereo cameras as input._

The _conscious awareness have shut down_ because a simpler, out-of- consciousness-circuit network took over. This is perfectly normal and mundane; it's now you walk, or how you use a spoon. You have a lot of practice walking; if you had a comparable amount of practice butchering, you'd achieve a similar result.

(This is how Master Yoda explains wu-wei to Luke; Desperado tells the same thing to the boy in a more straightforward way: "Practice".)</comment>


Show HN: WordBoard Custom Keyboard for iOS – Save Time Typing - <AUTHOR> https://itunes.apple.com/us/app/wordboard-keyboard/id960167417?mt=8

<comment><AUTHOR> Let me know if you have any feedback, I'd really love to improve it based on what users want.</comment>


The ARM Cortex A73 – Artemis Unveiled - <AUTHOR> http://www.anandtech.com/show/10347/arm-cortex-a73-artemis-unveiled <comment><USER2> They're also unveiling their new GPU architecture, Bifrost, that uses that same sort of SIMT structure that desktop cards have used for a few years with memory coherence with the application processors.

[http://www.anandtech.com/show/10375/arm-unveils-bifrost- and-...](http://www.anandtech.com/show/10375/arm-unveils-bifrost-and-mali-g71)

<comment><USER3> Yes this is the really interesting review imo :)

The wavefront divergence problem is really calling out for a Mill-style NotAResult flag for speculation etc so it can get more pipelines per thread again ;)

</comment></comment><comment><USER4> I haven't even seen anywhere to buy the A72 even though that was announced around a year and a half ago.

<comment><USER5> The biggest reason for that is that Apple, Qualcomm, and Samsung have designed their own custom cores, rather than using ARM's license-able ones. So most of the phones you see, instead of using Cortex A72, use Snapdragon 820 or Exynos M1. (Huawei's Kirin 950 uses A72 cores, though.)

One of the more interesting bits about the A73 announcement is that they're offering a new licensing level for SoC makers to customize their cores starting from an A73 base, and that Qualcomm has taken that license; so the next-gen Qualcomm SoC won't have the A73 name, but may have a lot of its tech.

<comment><USER6> Didn't know Samsung had picked up an ARM ISA license.

</comment></comment></comment><comment><USER7> Is there a mirror of this anywhere? All I am getting is "Server Error in '/' Application."

</comment><comment><USER8> I'd really love to see some very high clock speed arm processors even at the sacrifice of less cores. A lot of the work were doing with interpreted languages these days bottlenecks on a single threads maximum performance on one core often due to the complexities around avoiding the GIL inefficiencies in Python, a RISC processor with a high clock speed could be a really interesting match for such processing.

<comment><USER6> Could have sworn there was a couple of companies looking into that for server usage a few years back.</comment></comment>


A Research Data Gathering tool I built using Twitter API. (muchcast.com) - <AUTHOR> http://muchcast.com <comment><AUTHOR> Hi There,

I am Dilusha,

Co-Founder of MuchCast,

I built this product for people to gather twitter data for quick research projects. As I felt, this might help people who do not have much time to code something using Twitter API, just to grab some data for their projects. (I am about to validate this idea :) )

I have opened sign-ups for 100 users, and still, we got so far 2 sign-ups. Day 2 :(. Even though I haven't marketed this in many places, I feel my idea should be validated even more.

*Please note as we are currently in beta, we have some new features coming up on the roadmap if the next few days going to be a success and if we at least get some active users during the next 20 days.

So Feel free to ask me any question, give me your feedback on this and you are all welcome to sign-up.

Best, Dilusha. @andrewdex</comment>


Ornithopter - Artificial butterfly filmed in flight  - <AUTHOR> http://www.sciencedaily.com/releases/2010/05/100519205506.htm <comment><USER2> Looks like it's crashing instead of flying...</comment>


Wikipedia on HHVM - <AUTHOR> http://hhvm.com/blog/7205/wikipedia-on-hhvm <comment><USER2> They note that 5.6 has some substantial performance improvements over 5.3. I'd point out that PHP 7, coming out later this year, will be even faster (perhaps as much as 2x 5.6), since some very smart people have done some big internal refactoring in the Zend engine, largely to reduce allocations, pointer indirection, and memory usage. These efforts combined have resulted in pretty big performance gains, making PHP 7 more competitive with HHVM performance- wise. In addition, writing PHP extensions is somewhat nicer now.

Zeev Suraski (one of the original two Zend Engine authors along with Andi Gutmans, also co-founder of Zend, Inc.) did some benchmarks:

[http://zsuraski.blogspot.co.uk/2014/07/benchmarking- phpng.ht...](http://zsuraski.blogspot.co.uk/2014/07/benchmarking-phpng.html)

[http://zsuraski.blogspot.co.uk/2014/07/benchmarking-phpng- ma...](http://zsuraski.blogspot.co.uk/2014/07/benchmarking-phpng-magento.html)

However, bear in mind that those benchmarks were faked* by Zeev, a Zend Engine proponent. Benchmarks faked* by HHVM engineers might show a larger gap. ;)

* I'm not using "faked" in its normal sense. They probably weren't fraudulent, but I am a believer that we should say "fake a benchmark" and not "make a benchmark" given that they can be so circumstantial and misleading: [http://blog.ajf.me/2014-10-23-on-benchmarks](http://blog.ajf.me/2014-10-23-on-benchmarks)

Disclaimer: I am, myself, biased towards the Zend Engine, I'm a php-src committer.

<comment><USER3> I make a point to say "synthetic benchmarks" for such circumstances. It clearly conveys that the benchmark is contrived, likely to demonstrate a particular point, but it avoids the negative connotations.

<comment><USER2> Ah, that's a good term for it. I like "faked" because it has added humour value (it's rather "ha ha only serious"). Without using a disclaimer around it, though, someone will probably smack me.

<comment><USER4> Use `fake' in speech, where you can convey more context, and `synthetic' in writing?

<comment><USER2> I'd say the other way around, honestly. In writing I can stick a * there so it's obvious that there's more to it than it seems. In speech, unless it's explained beforehand, it might not be a good idea.

<comment><USER5> I really thought that when you wrote "faked" that reflected on Zeev's character. That he was trying to pull a fast one. Only after encountering the disclaimer did I realize what you meant. Many people won't read the disclaimer, and therefore when dealing with someone's reputation you should pick a word which might avoid misunderstanding.

<comment><USER2> Fair point.

I might say some things about Zeev, but I certainly wouldn't say he's a liar. He's a talented developer.

<comment><USER6> Saying someone's faked a benchmark is an extraordinarily serious accusation of professional malpractice. I think your little joke is a very misguided.

<comment><USER7> Having seen how the sausage is made at many performance oriented companies this seems to be a bit of an overstatement.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Hooray! I'm a massive fan of HHVM, though not just because it's so fast: Hack is something I'm really interested in. The collections libraries in the stdlib are brilliant to use, and the static typing makes writing some types of code easier and keeps some bugs out of my codebase. The only thing I wish to see is more editor/IDE support for it, so I helped contribute to hack-sublime and have been writing my own plugin for Komodo Edit/IDE.

HHVM and Hack were the impetus for me to learn OCaml, which is a lovely language. It's good to see more and more places picking up HHVM, and it's also great to see PHP5.6 and 7 increasing performance drastically, too!

</comment><comment><USER9> Congrats to FB for donating their engineering resources to helping Wikipedia. How do we make this more the norm for large corporations with talent? Something akin to Google's 10% time but with a social-good focus? It might help silicon valley's reputation in a larger sense.

<comment><USER2> Bear in mind that Facebook has a vested interest in getting other large sites to use HHVM, so that they're not the only ones who want to maintain it. They're not doing this _purely_ for the greater good.

That said, I agree, Facebook is doing awesome stuff here.

<comment><USER10> > so they're not the only ones who want to maintain it

Being completely unaffiliated with Facebook, I think this still counts as 'greater good' for many.

<comment><USER2> Sure. I'm just saying that they have business motives to do so, it is not merely out of the kindness of their hearts. Though I am sure it is also partly the latter, they have some wonderful engineers. :)

<comment><USER9> As far as I'm aware, HHVM isn't something that FB is charging for. If that's true, what's the business interest?

<comment><USER2> The same one I mentioned before: getting other people to use it benefits them, as other people will help maintain it because they also have a stakehold in its success. It's a huge project to maintain.

<comment><USER11> If you define it that way then there's almost nothing in the world that would categorize as altruism. Helping kids in Africa? It's only to make yourself feel good. Helping that fallen granny get up? It's to make yourself look good in front of others. Etc. If you go that far, both egoism and altruism will have completely lost their meanings.

<comment><USER12> >Helping kids in Africa? It's only to make yourself feel good. Helping that fallen granny get up? It's to make yourself look good in front of others.

Exactly! Of course we do things to make ourselves feel good. And since helping other people makes us feel good, why shouldn't we be honest about our motives? It's win-win.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> This is great news to see. I have tested HHVM with our particular application load and I found it to be a bit tricky to tune just right. However PHP 5.6 has been solid in production for us handling 5 billion requests daily.

<comment><USER9> Wow. What are you running that's getting 5 billion requests daily?

<comment><USER13> Mobile Ads and Mobile Analytics for about 500 million devices world wide.

</comment></comment></comment><comment><USER14> The y-axis of the first graph should start at 0. Being more than twice as fast is quite a lot. There is no need for cheap tricks.

If you aren't visualizing tiny deltas, don't truncate the y-axis. It's misleading.

<comment><USER15> That was just the default presentation mode of the tool I got the graph from. It's been updated.

<comment><USER14> Thanks. Graphs are so much better without "fine print".

</comment></comment></comment><comment><USER16> The results would have been very interesting if they switched from PHP 5.6, but switching from 5.3 to HHVM is impossible to know how much of the improvements are due to the newer PHP and how much to HHVM. Nevertheless, Wikimedia must be really satisfied.

</comment><comment><USER17> how does HHVM compare to PHP 7 in terms of speed savings? PHP 7 is supposed to be pretty damn fast from what I have seen. I guess benchmarks are hard to read because they're dependent upon a lot of factors. It would be interesting to see two sites at similar scales running competing engines for PHP (hhvm vs. PHP 7).

<comment><USER2> Minor point of style: We tend to refer to phpng in lowercase, because that's the branch name. Although at this point, since it no longer exists as a branch (it's long since been merged into trunk) and there have been subsequent performance optimisations, the names "PHP 7" or "Zend Engine III" are possibly better.

Also, I partly responded to this above: [https://news.ycombinator.com/item?id=8848129](https://news.ycombinator.com/item?id=8848129)

<comment><USER17> TIL, thank you for that.

</comment></comment></comment><comment><USER18> Thank you to both Wikipedia and Facebook for being transparent and sharing this back to the open source community. It's these type of joint efforts that really move the web forward. Hats off.

</comment><comment><USER19> Intersting, I didn't realize PCRE now has JIT support. [http://sljit.sourceforge.net/pcre.html](http://sljit.sourceforge.net/pcre.html)

Also, that page points to Apple's YARR, which I didn't know about either (and Chrome's irregexp, which I did).

</comment><comment><USER20> Might somebody be willing to explain the difference between the two versions?

> using HHVM from GitHub rather than our internal repository.

<comment><USER15> The only differences are some Facebook-only extensions we use to interface with internal services, and a different build system. The code is exactly the same otherwise.

</comment></comment><comment><USER21> I would love to use hhvm, unfortunately my IDE of choice PHPStorm doesn't support it yet :( despite a big long list of customers requesting it. [https://youtrack.jetbrains.com/issue/WI-21737](https://youtrack.jetbrains.com/issue/WI-21737)

What editor do Facebook and Wikipedia use for their HHVM/PHP development out of interest?

edit: downvoted? really? for what?

<comment><USER22> I use vim. Other MediaWiki developers use emacs, PHPStorm, TextMate, Notepad++ or whatever editor or IDE the individual developer is most comfortable with.

</comment></comment><comment><USER23> "Peak CPU utilization dropped from about 70% to 12%, almost a 6x improvement."

That is substantial, and HHVM should bear to rest some of the claims (trolls) that PHP is not performant.

<comment><USER24> That you can claw back some performance by using a partially conforming alternate language implementation does not prove the "trolls" wrong.

Yes, with enough engineering effort you can move mountains, but if performance is critical and you don't have a legacy code base like Facebook does, reaching for the php hammer is insanity.

The real reason why performance isn't a big downside with php is that it usually just doesn't matter.

If a php implementation can service 100 req/s, and a Java implementation (an ad absurdum) 100,000 req/s, and your site peaks at 5 req/s, either is just fine.

In other words, "You're probably not Pintrest".

<comment><USER2> > That you can claw back some performance by using a partially conforming > alternate language implementation does not prove the "trolls" wrong.

You're talking as if PHP is slow. It isn't, it's very fast, speed is actually one of its advantages (or was historically, anyway). Its alternatives (Python, Ruby) are sometimes marginally slower. With its next release, it will receive a significant performance boost, and minor versions usually include small but significant performance gains.

Yes, it's not as fast as say, C, C++, Java, C#. It doesn't need to be, nor does anyone expect it to be: it's a dynamic language that allows for rapid development. But to talk about it like it's something horribly slow that you'd never use in 2015 is simply wrong. It is competitive.</comment></comment></comment>


Reddit's monthly active user base grew 30% to reach 430M in 2019 - <AUTHOR> https://techcrunch.com/2019/12/04/reddits-monthly-active-user-base-grew-30-to-reach-430m-in-2019/ <comment><USER2> I'm guessing ~75% of those were "influencers" and spambots ~20% disinformation puppet accounts and the remaining ~5% might have been actual humans.

</comment><comment><USER3> Reddit is somewhere I never go on my own accord. I generally Google something, land there, and then realize every single time how awesome it is.

I need to really take a few minutes to handpick some subreddits and visit weekly!

<comment><USER4> Reddit is like a general-purpose version of HN. Both cultures seem pretty egg- heady to me

</comment></comment><comment><AUTHOR> For a site like Reddit is there a better way to measure growth/success than MAU?

\- growth rate of users receiving an upvote?

\- growth rate of users leaving 2+ comments?

\- something else?

MAU feels like a vanity metric to me but I've never worked in a space that prioritizes the metric especially when it's difficult to know if the users are real, bots, throwaways, etc.</comment>


Do Dating Apps Really Want You to Find Love? - <AUTHOR> https://knowledge.insead.edu/strategy/do-dating-apps-really-want-you-to-find-love-9646 <comment><USER2> ... No, they want you to find dates, that's why they're called dating apps.</comment>


Scheme 9 from Empty Space - <AUTHOR> http://www.t3x.org/s9fes/ <comment><USER2> Don't miss the book link. I read this book in August, and it was the best explanation I've seen yet of how Scheme really works.

<http://www.t3x.org/nmh/books2.html></comment>


Ask HN: What does it mean to be a data driven company? - <AUTHOR> What would you do different if you are "data driven"? Is it just another buzzword, or are there actual differences in the way you operate your company? <comment><USER2> It means that all projects and discussions are based on metrics collected by the products.

For example, to increase daily active users for an app the company might shuffle the UI. Then carry out a/b testing and based on the data make it permanent. Everything is based on data.

Sometimes it is easy to get "trapped" too. That the company focuses so much on a particular metric that they completely miss the big picture.

<comment><AUTHOR> Thanks for the reply! What I just don't understand is, doesn't that mean every company is more or less data driven? I'd assume most companies act according to some key metrics they collect.

<comment><USER2> Not necessarily, some are driven by customer demand, some by community features or some by investors. It depends on the stage of the company too. An early stage start up sometimes simply does not have enough bandwidth for metrics. Slightly more mature startups can begin to base project based decisions on data.</comment></comment></comment>


Priceline sues gaming companies for tournament play - <AUTHOR> http://gamasutra.com/view/news/34894/Priceline_Founder_Targets_Video_Game_Industry_With_Patent_Suits.php

<comment><USER2> The funny thing about all of these types of things is that they always mention storing or exchanging data with a central computer. There seems to have been a raft of really bad (and I mean really bad) patents issued for every type of little number or data bit that can be stored on a computer.

Yeah, computers store data. No, you're not a genius for thinking of yet another little thing to put in your computer.

</comment><comment><AUTHOR> I haven't actually read the patents, but from the overview I would guess that they are completely obvious solutions that patents should never have been granted for.</comment>


Advanced JavaScript Injections - <AUTHOR> https://brutelogic.com.br/blog/advanced-javascript-injections/ <comment><USER2> People failing to load the page, note that [http://webcache.googleusercontent.com/search?q=cache%3Ahttps...](http://webcache.googleusercontent.com/search?q=cache%3Ahttps%3A%2F%2Fbrutelogic.com.br%2Fblog%2Fadvanced- javascript- injections%2F&oq=cache%3Ahttps%3A%2F%2Fbrutelogic.com.br%2Fblog%2Fadvanced- javascript- injections%2F&aqs=chrome..69i57j69i58.909j0j7&sourceid=chrome&ie=UTF-8) works.

</comment><comment><USER3> Anyone else getting a 500 error on this?

<comment><USER4> The page does not open. At first I thought I had compromised the browser with a JavaScript exploits.

curl -v [https://brutelogic.com.br/blog/advanced-javascript- injection...](https://brutelogic.com.br/blog/advanced-javascript-injections/)

* Connection state changed (MAX_CONCURRENT_STREAMS updated)! < HTTP/2 503 < server: nginx < date: Thu, 13 Dec 2018 16:07:36 GMT < content-type: text/html; charset=iso-8859-1 < content-length: 323 < x-sucuri-id: 15005 < vary: Accept-Encoding < x-sucuri-cache: MISS < <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">  <title>503 Service Temporarily Unavailable</title>
Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
  * Connection #0 to host brutelogic.com.br left intact

</comment></comment><comment><USER5> Not sure what PHP escape method is used in the example on the server, but shouldn't \" escape to \\\\\" instead of \\\"?

</comment><comment><USER6> ah the good ol reddi.. err HN hug of death

<comment><USER7> It's been Slashdotted.

</comment></comment><comment><USER8> What's the need for this new term? Up to now, the javascript injection orgies were just called web sites.</comment>


Docker opensources containerd - <AUTHOR> https://techcrunch.com/2016/12/14/docker-open-sources-critical-infrastructure-component/amp/ <comment><USER2> A pretty unfortunate title; containerd, like Docker itself, has always been open source. Now it's being spun out as a separate project, and donated to a "neutral foundation."

Though, I think the timing of this announcement is rather odd. None of this is happening until Q2 next year.</comment>


Running V8 isolates in a multi-threaded ArangoDB database - <AUTHOR> https://www.arangodb.com/2015/08/running-v8-isolates-in-a-multi-threaded-arangodb-database/

<comment><USER2> Foxx as a drop-in replacement for Node.js would be a killer feature.

<comment><USER3> Agreed. The reason the arangodb team give is the different concurrency models between arangod and node, but I don't think the problem is insurmountable. From the programmers perspective it would be no different from using node's cluster module.</comment></comment>


Ask HN: How do you understand a new app and its codebase? - <AUTHOR> This is regarding code bases [legacy or recent] that one inherits when joining a new company or a team and the original developers who built the app are no longer available for any reference. In this situation how would you wrap your head around the app and the code? How would you understand the business problem being solved and the various business rules that map to these problems or requirements? <comment><USER2> IMO:

First step is to always be a user of the app and get used to the features of the app and if you are a software engineer, you will intuitively understand how the that feature is implemented.

Second, you can read tests for that project.

Third, if the app is for internal usage, you can talk to the customers directly on how they use it. If it is public facing, you can talk to your PM.</comment>


Culture Industry - <AUTHOR> https://en.wikipedia.org/wiki/Culture_industry <comment><AUTHOR> The inherent danger of the culture industry is the cultivation of false psychological needs that can only be met and satisfied by the products of capitalism</comment>


Drillers Distraught After DIY iPhone Headphone Jack Prank - <AUTHOR> http://www.thememo.com/2016/09/26/diy-apple-iphone-prank-youtube-iphone-headjack-prank-apple-iphone-prank/ <comment><USER2> I have to assume those YouTube commenters are just playing along with the joke. Nobody who can legally operate a power tool is _that_ dumb.

<comment><USER3> Are there countries that prevent some part of the population from operating power tools?

<comment><USER2> I meant, old enough :)</comment></comment></comment>


The IT Guy vs. the Con Artist - <AUTHOR> https://www.npr.org/templates/transcript/transcript.php?storyId=749135286 <comment><USER2> _The victims didn 't come forward because they felt so ashamed about falling for the con._

This is such an interesting essential part of scams. I guess it's a part of human nature.

I remember tracking down a phone scam that caught my grandmother once (based out of Montreal) and I eventually got to a point where I discovered that my grandmother had provided a verbal consent over the phone that had kept it just this side of being outright fraud. The scam company played a recording of it for me.

I wasn't sure this wasn't fabricated, so I tried to confirm with my grandmother and she was just like, "Well, thanks for all your help, honey, but really this isn't that important. Let's just move on."

I recognized how pushing it would just cause her unnecessary pain. So I dropped it and we moved on. Good to know there are people like Felipe around helping to keep things in check.

 _Now when Felipe just lives his life or goes out in the world, he can 't help but think everything can be a con, and everybody can be a mark._

Yeah, I guess I see the world more or less the same way. And I suppose it makes me a little unusual. Hopefully not too cynical.

<comment><USER3> Long time (maybe twenty years) ago I read about a fascinating scam. The scammers were announcing a totally cool sex toy (maybe early VR, don't remember), but they never intended to deliver. Through clever marketing they managed to find enough potential customers who were asked to prepay a certain amount to finance production of the product (comparable to crowdfunding). When delivery day arrived, the scammers sent out letters to the customers with an apology that something went horribly wrong and the product could not be delivered. The letters included a bank cheque with a full refund, but the cheque said: "Refund for Sex Toy XYZ". As planned from the beginning, most customers were too ashamed to cash the cheque, so the scammers kept most of the money. Legally (?).

<comment><USER4> I don't know if that was a real scam. It was a bit of a throw away joke from the movie, 'Lock, Stock, and Two Smoking Barrels'.

The guys need to raise money to repay a debt, and one of them presents this idea, which gets tossed out because it's gonna take too long for them to receive the checks.

<comment><USER5> It's much, much older than the movie reference. Embarrassing check scams are an old, tried and true scam. They were more popular backnin the days of physical chain letters.

</comment></comment></comment></comment><comment><USER6> One of the things I like about Plant money is that they have transcripts for all their podcasts. I used to listen when I was a driver, but now I don't I can just read the transcript in a few minutes instead of spending 20 minutes or so listening.

<comment><USER7> Increase playback speed. You'd be surprised how your hearing can adjust. Just work your way up in small increments. Just be prepared that if you ever go back to 1x speed, it sounds really weird.

<comment><USER8> Up to 1.4 is not a big deal, somewhere around 1.5 or starts to get a little strange. Since I generally have technical or industry related podcasts going while doing other things too high a speed becomes a hindrance.

<comment><USER9> Try out rubberband. I find that with rubberband and mpv I can get close to 3x and still understand many (but not all) speakers. It depends on their particular accent/annunciation/cadence though. Some accents, like RP, are very clear to me at 1x but degrade more rapidly (for me) than others at high speeds.

[https://breakfastquay.com/rubberband/](https://breakfastquay.com/rubberband/)

<comment><USER10> What is improved by using Rubberband rather than the internal playback speed setting on mpv, which keeps pitch the same?

<comment><USER9> Good question. By default mpv will automatically insert the 'scaletempo' filter to adjust pitch when speeding up or slowing down audio, and it does a reasonable job at modest speed changes. And it's fast; very little CPU load. However at more dramatic speed changes it starts to sound choppy with parts of words getting cut out which limits how fast it can go while maintaining comprehensibility. Scaletempo sounds choppy at high speeds because the way it works is by playing small snippets of the audio stream at 1x, skipping ahead past some audio to keep pace with the sped up video. There is also some blending of those snippets, but in principle it's a very simple approach that generally works well enough.

How precisely rubberband works is something I've not looked into deeply, but the end result is increased CPU load and less choppy audio at high speeds. If you throw together a little script to switch back and forth between rubberband and scaletempo in realtime, I think the difference is pretty dramatic.

<comment><USER10> Ah thank you. Some good info here: [https://github.com/mpv- player/mpv/issues/4418](https://github.com/mpv-player/mpv/issues/4418)

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> The radio version: [https://www.npr.org/2019/08/07/749135286/episode-931-the- it-...](https://www.npr.org/2019/08/07/749135286/episode-931-the-it-guy-vs- the-con-artist)

The climax of this story involves the belief that "Linux servers don't just crash".

<comment><USER11> I refuse to believe this wasn't just a way to add drama/tension. You can't work in IT and actually believe this.

<comment><USER12> Well, he was afraid he was going to be murdered by criminals. Under those circumstances even slight suspicion would be terrifying.

<comment><USER2> And he'd been working there long enough to know that this wasn't a common event. He even qualifies it, "You know, it's very hard for that to happen."

</comment></comment></comment></comment><comment><USER13> Just taking a look at the judgement, Emilio was sentenced to 84 months (7 years) around this time in 2012, followed by two years of supervision [1]. I wonder if he was released. Super interesting read overall. Thank you!

[1] [https://www.docketbird.com/court-documents/USA-v- Torres/JUDG...](https://www.docketbird.com/court-documents/USA-v- Torres/JUDGMENT-as-to-Emilio-Jose-Torres-1-Count-s-1-84-mos-impr-2-yrs- s-r-036-100-00-sp-asst-Count-s-2-3-84-mos-impr-to-run-concurrent-2-yrs-s-r-to- run-concurrent-036-100-00-sp-asst-Restitution-Ordered-to-be-paid-jointly-and- severally-Signed-by-District-Ju/ncwd-3:2011-cr-00275-64268-00017)

<comment><USER14> That seems... too lenient. What are the chances he just moves back to Costa Rica and starts up another scam shop, this time refusing to leave?

<comment><USER15> I dunno, maybe compared to what were used to but just think about it, 7 years locked up not able to do anything you want, that's huge punishment to me. But I also argue most sentences should be shortened and replaced with programs to reintegrate them into society.

</comment></comment></comment><comment><USER16> We don't have IT scams like this in Lithuania,as nobody ever pays for IT support,they just get someone they know to do it for free. However massive prize scams used to be quite popular and still are to certain degree today. Scammer calls a victim and claims he's calling from a radio show,some company, events organiser, whatever.Then obviously comes the part where he saya that the victim won x,y,z and all they. need to do is to buy some prepaid topup cards for mobile( these usually have a code on them that needs to be used to add credit) and tell the con artist those codes,for "verification purposes" or whatever the reason of the day is. This was many years ago. One day,a friend of mine gets home and his dad,a surgeon, shouts across the room: Anthony,we won!!!!we won it all!!My friend: what? Yeah,we won!! HI-Fi system, a vacuum cleaner and I think a washing masine as well!!!Yeah! My friend,still being quite confused about his dad's instant gains: what are you talking about, where's this coming from? Well,the guy called from the radio,they ran a game and we won.Anthony, here's some money(it was at least a couple weeks wage),go to the shop across the road and buy topup cards,will you? My friend looked at his dad and said: dad, shut up and go back to bed.

<comment><USER17> > get someone they know to do it for free.

Because people with technology skills should perform free labour for people without...

<comment><USER18> Labor is cheap in the third world, which is annoying when you are the labor, but fortunately it cuts both ways. Dentistry, hair cuts, cleaning services and excellent food are affordable even on low wages.

</comment></comment></comment><comment><USER19> This was a great story.. thanks to Planet Money for re-broadcast it.

</comment><comment><USER20> I simply do not pick up unexpected phone calls. If it's actually important, they'll leave a message saying who they are, and I will look up the number for that organisation and call them back.

</comment><comment><USER21> "So his friends at the U.S. Embassy got him a visa and got him to the States, where he works in IT."

This stuck out to me. Puerto Ricans are United States citizens and as such do not require any kind of visa to live and work in the states. There isn't even an embassy in Puerto Rico since it is part of the United States.

Makes me question the rest of the article.

<comment><USER22> Puerto Rico != Costa Rica, which is the country this story took place in.

</comment></comment><comment><USER23> >WARNER: Joe Healy is sitting in this conference room with Felipe, the IT guy in his buttoned-up shirt.

>HEALY: He's a physically little guy...

>WARNER: He's 5-foot-4.

>HEALY: ...And not overly muscular.

Man, Planet Money's constant interruptions and hacked-apart quotations are just as jarring to read as they are to listen to. It's entirely possible to transition your narrative structure between accessible exposition and raw firsthand accounts--but for some reason Planet Money tries to chase after both, simultaneously, at every second. The result is a choppy, rattling collage of thought fragments. Ugh!

What, you guys don't like style criticism? Complaining about a webpage is okay so I don't see why this should be off-topic.

<comment><USER24> That's my issue with RadioLab. It is just constant interjection.

<comment><USER25> Those guys are annoying AF. It really makes it a close call whether it's worth listening to.

<comment><USER24> Yeah, the content is just the right level of interesting/shallow to be great for a commute or something of that nature, but they get annoying very quickly.

</comment></comment></comment></comment><comment><USER26> What a crazy life ! Great read. So what know the guys is out and will scam again?

</comment><comment><USER27> Great story but a little anticlimactic.

It's like yadda-yadda-yadda, he gets arrested and goes to prison. That's it? The story is just an IT guy that tells US authorities before he takes on a job with scammers and is then a mole? It's neat and all, but not a totally captivating tale.

If you haven't heard it, this is a good one: [https://gimletmedia.com/shows/reply- all/6nh3wk](https://gimletmedia.com/shows/reply-all/6nh3wk)

<comment><USER28> > We found these guys who live in Bradford, England who are setting up > websites and companies so that they can process money for Accostings in the > UK.

I'm from Bradford - this is not at all surprising.</comment></comment>


Doing Biotech in My Bedroom - <AUTHOR> http://www.technologyreview.com/business/39597/?p1=BI <comment><USER2> I can't help but think if he was half way through his Ph.D., he perhaps should have finished it before embarking on this endevour.

 _"Would I finish and get a few letters after my name, or seize the day and do something that needed to be done?"_

I'm not sure the two are in any way mutually incompatible, and the advantage of working with experienced researchers for a couple of years or so more (Ph.Ds are 3-4 years in the UK), especially if he's committed to a more solitary lifestyle, I'd have thought would have been rather useful.

</comment><comment><USER3> The DIY biotech movement has been going on for some time now. People are drawing parallels between the movement and the early days of the tech scene, predicting DIY bio will be as big and influential as today's DIY tech scene.

While I want to be optimistic about that, the comment from Declan Soden in the article seems pretty spot on.

Putting together genes into plasmids and bacteria is just the beginning. The main goal is to endow some organisms with new useful traits. The problem is, testing the trait becomes increasingly difficult for DIY biologists because it is rarely as easy as putting the genes together. How do you test if your bacteria has made the desired anticancer compound? You need to chemically analyze your product, and ultimately you need to try it on people.

This is different compared to software. Open source software can become what it is today, because testing the software itself is relatively easy. Want to write a new browser? Just use it yourself. How about a new media player? Use it to play your videos and see how it goes.

<comment><USER4> I don't know anything at all about biotech, but it seems to me that the current process is something akin to manually entering machine code by flipping switches on a mainframe (or, another analogy: randomly gluing together libraries until something kinda works).

Maybe what is needed is some kind of programming language? Think VHDL but for biological stuff.

<comment><USER5> Just curious, but how interested would you (or others) be in a distilled introduction / survey of molecular biology? I've been thinking of writing or putting together some material at a somewhat higher level than, say, Khan Academy. No problem sets, just a fast and hard "this is why". Interested persons will challenge themselves, independently research, and put things together if they want deeper knowledge.

I've always felt that I could condense an entire two semester of cell phys/molec bio into a three hour video or 20-30 page article. I think the mind is surprisingly adept at filling in the holes...

Not saying that I have the talent to do this well. Is it something I should pursue?

<comment><USER6> This would be fascinating. It would be great if you did this.

</comment></comment></comment></comment><comment><USER2> And, on another note, I hate to be, "the man", but by re purposing chemicals and tools for biotech you risk introducing _ALL_ kinds of bias.

How does using an over the counter laxative impact bacterial transformation? The active ingredient that causes transformation might be the same (or it might not) as that used in the lab, but there may be other chemicals which impact the process, or worse, contaminants at a level which is totally acceptable for human consumption but not for biochemistry.

Can he guarantee his pressure cooker autoclave works, and if so how? What about feeding bacteria boiled potatoes - are there other chemicals in those potatoes (which have been absorbed from their environment, during transport, in storage etc) which could impact bacterial growth or function in some way? How would you know? Would they even be consistent - who's your potato vendor?

There are already FAR too many unknowns in biology, adding more through the risk of inconsistent experimental design and tools feels like a poor direction to go.

<comment><USER7> >Can he guarantee his pressure cooker autoclave works, and if so how?

Autoclave tape

Just because one utilizes alternative materials does not mean the scientific method goes out the window. Finding a repeatable process is paramount.

Also, many of these DIYbio projects take advantage of methods used in labs for years. There are multitudes of testing procedures, validations, ect that enable one to see if their over the counter laxative is up to par.

<comment><USER2> I agree with what your saying, but at the same time many such tests have been developed to work with biochemical grade components. Yes - they may test if X has worked, and that Y and Z are not present, but if there is no expectation whatsoever that A is present then it won't be something worth testing for normally, even if, in this rather specific example, there's more A than you can point a stick at.

Repeatability does not necessarily reflect functional correctness. Clearly this is a bigger issue than just DIYbio, but my point is simply that if you're working in a lab, under lab conditions, you can make a lot more guarantees regarding continuity of environment, materials, and methods than you can in your mum's spare room with over the counter laxative.

Equally, however, assuming "the traditional" is the only way to go is a dangerous precedent too. I'm just of the possibly naive opinion that it would be difficult to follow the scientific method to as rigorous a standard as is necessary, but perhaps that in itself will precipitate a new industry in low cost biotech equipment.

</comment></comment></comment><comment><USER8> It's an encouraging sign that Garvey is starting with building tools to work on safer bacteria than everyone's favorite human gut dweller, but B. subtilis is extremely hardy and can survive a wide variety of conditions. Perhaps something that dies quickly outside a particular environment would be even better?

</comment><comment><USER9> Check out <http://genomecompiler.com>

It's a design/debug/compile tool for synthetic biology

</comment><comment><USER10> This is scary and exhilarating at the same time.

</comment><comment><USER11> I am sorry, I use to work in several labs at Purdue U years ago while a student..his lab is missing some key safety features/items..is that really a good idea?</comment>


The Canadian who wants to dethrone Facebook - <AUTHOR> http://www.theglobeandmail.com/report-on-business/rob-magazine/the-canadian-who-wants-to-dethrone-facebook/article27455324/ <comment><USER2> It's the only western app that has basic chat capabilities while remaining somewhat not intrusive. In Messenger you need a FB account, for Whatsapp you need a #, for Snapchat ppl can see your Story...but for Kik, all you have to do is add a username to chat, and that's what made it successful

<comment><USER3> Messenger no longer requires FB.

</comment></comment><comment><USER4> _"You see somebody in a suit, a flashy office, a flashy car—they're trying to create an image. Don't get me wrong, it's cool to wear a suit. But it's a little bit manufactured."_

Honestly in the Bay Area a startup hoodie, t-shirt and jeans is almost a little bit manufactured.

<comment><USER5> Everything is manufactured. The idea that raw authenticity can exist in the construct amd context of 'doing business' is not fathomable to me.

<comment><USER6> For that matter, most social contexts involve signalling adherence/allegiance to a specific set of values and beliefs: clothing is almost always a uniform of sorts. It helps establish an initial foundation for further communication.

</comment></comment></comment><comment><USER7> New messaging apps will not change the world. Finding new ways to sell wares to people is not solving big problems. Why do so many entrepreneurs act like they are working on the cure to cancer?

<comment><USER8> Most entrepreneurs have a reality distortion field that they sometimes fall victim to, otherwise they wouldn't be doing something as risky (and irrational) as starting a business.

<comment><USER9> I don't think that's necessary true. The whole thing is a pretty new mentality, previous generations of companies/ founders doesn't seem to have too much of that attitudes (Microsoft, Google, Apple, Amazon etc.?). And those companies did actually change the world. Instagram and Whatsapp? The verdict is still out there.

</comment></comment></comment><comment> vezzy-fnord

       "Microsoft built an operating system for all the desks in the world," he
       tells me as we walk together on a windy day in October. The always-on nature
       of mobile computing, he argues, offers a chance to rebuild our relationship
       with software. And as he sees it, only Facebook and Kik are competing to do
       that in North America. "This is a race to build an operating system for the
       world, period."

This is the kind of computing pop culture emanating with glurge that we're dealing with, I suppose. He just might succeed.

<comment><USER10> I guess this was an attempt to sound like a visionary with a "Big Hairy Audacious Goal"

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

Instead, it reads like a parody. The world isn't a computer and it doesn't need an operating system.

<comment><USER3> I chuckled at the part with the bath tub.

</comment></comment></comment><comment><USER11> From reading the wikipedia for his company [0] and "Chinese Mobile App UI Trends" [1] a while back, after getting to the part that their app has a web browser, I got the impression that they are replicating chinese apps for a western audience, where every thing you do (chat, browse, buy) happens through one app. I was not surprised to learn that they got 50M from Tencent.

[0] [https://en.wikipedia.org/wiki/Kik_Messenger](https://en.wikipedia.org/wiki/Kik_Messenger) [1] [http://dangrover.com/blog/2014/12/01/chinese-mobile-app- ui-t...](http://dangrover.com/blog/2014/12/01/chinese-mobile-app-ui- trends.html)

</comment><comment><USER12> Kik's user space app approach is novel - [https://github.com/kikinteractive/starter- kit](https://github.com/kikinteractive/starter-kit) \- basically allows developers to extend Kik with simple apps written in html / js. That said the most popular apps seem to be about sexting - guess that's a popular use case with Kik's teen audience

<comment><USER13> A large percentage of _all_ personal communication between humans is about the pursuit of sex

<comment><USER14> If magically the urge to get laid left me, I'd be in bed laying all day everyday looking up at the ceiling.

</comment></comment></comment><comment><USER15> It sounds like yet another version of IRC that doesn't work on desktop computers and still claims to be "cross platform".

</comment><comment><USER16> I've been a student at the University of Waterloo for 8 years now, and I can honestly say that I don't know a single person that actually uses Kik. Maybe it's big somewhere else, but certainly not here, where the product was created and holds its offices.

<comment><AUTHOR> same can be said about Whatsapp which was founded and has offices in Mountain View, CA and I lived there for a while and never saw a single person using it. It's way more popular in other parts of the world: [http://www.statista.com/statistics/321460/whatsapp- penetrati...](http://www.statista.com/statistics/321460/whatsapp-penetration- regions/)

<comment><USER17> I read somewhere that Whatsapp gained a lot of traction in countries where per-text fees were still rampant, and the texting within Whatsapp just flowed as normal data with no per-message charges.

<comment><USER18> When I reluctantly got a smartphone (I wanted interent for new flat, and it was the same price with or with a phone and data bundle as interent alone), I never expected to pay for any apps, especially not whatsapp. I had 500 free texts, and didn't see what the whole fuss over whatsapp was about. A few months later I had a conversation with my mum (who is in a diffrent country) and ten texts had cost me 8 euros (a few of which were yes / no replies). After that I was happy to pay for whatsapp.

<comment><USER19> Why not just use Facebook? I fail to see what problem Whatsapp solves that Facebook doesn't solve better.

<comment><USER20> > _Why not just use Facebook?_

I know it's a difficult concept to grasp, but not everyone wants to be a cog in the Facebook machine. Besides, Facebook is banned in certain parts of the world, so niche alternatives are a good thing.

> _I fail to see what problem Whatsapp solves that Facebook doesn 't solve > better._

Define "better". Installing Facebook just to use its messenger feature is akin to installing Photoshop just to resize pictures. Also, Facebook is a mobile data hog compared to most chat apps, and that matters to some folks.

If you want a full fledged social network with all the trimmings, sure, Facebook is hard to beat; but if all you want is chat, use a chat app.

<comment><USER3> > not everyone wants to be a cog in the Facebook machine

From Wikipedia: "WhatsApp Inc., based in Mountain View, California, was acquired by Facebook Inc. on February 19, 2014, for approximately US$16 billion"

> Installing Facebook just to use its messenger feature is akin to installing > Photoshop just to resize pictures

Facebook Messenger is a standalone app that doesn't even require a FB account anymore.

<comment><USER20> > _From Wikipedia: "WhatsApp Inc., based in Mountain View, California, was > acquired by Facebook Inc. on February 19, 2014, for approximately US$16 > billion"_

Fair enough, but it was the parent who specifically mentioned WhatsApp. Personally I'd rather just use SMS or XMPP; the first is built into the phone and "just works", the second is open and extensible, with a plethora of clients, and you can run your own server.

And if you believe for a second that Facebook didn't create a full FB shadow account tied to your "messenger only" account, I have a bridge to sell you.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I would really recommend reading the whole article, but especially the middle half discussing how Kik is bringing in brands.

It sounds like a texting interface for an AI for major sites; really cool.

</comment><comment><USER22> Here we go again. Wasn't it "ello" last time?

<comment><USER4> This is not Ello, this is in the whatsapp/snapchat vein.

<comment><USER23> Facebook acquihire in 3, 2, 1...

</comment></comment></comment><comment><USER24> This was very bad writing.</comment>


The evolution of computer displays - <AUTHOR> http://arstechnica.com/gadgets/news/2011/01/the-evolution-of-computer-displaysthe-evolution-of-computer-displays.ars <comment><USER2> No mention of Apple 2's or Commodore 64's is a bit odd. The Apple 2 was the first major breakthrough in making colour displays available to home users. Amiga certainly has it's place - it was just a disconcerting jump in the article's history.

</comment><comment><USER3> This article is a bit unbalanced. It begins with discussing both the hardware handling the display and the display itself, but ends up only talking about the former, leaving development of the latter off at CRTs. This doesn't do the subject justice as there have been huge changes in the latter over the last several decades, and a lot of potential for the future.

Modern displays use LCDs, OLEDs, plasma, DLP, e-ink, or other technologies. There have been some pretty astounding improvements in each of these over time, in resolution, pixel density, energy efficiency, etc.

</comment><comment><USER4> From the point where the article introduces raster graphics, it's overly focussed on microcomputers. No mention of the Xerox Alto, equipped with semiconductor memory and more or less the first computer with a bitmap display and a bitmap framebuffer? Or of the SuperPaint system at Xerox, which introduced colour graphics and animation? <http://www.rgshoup.com/prof/SuperPaint/> <http://en.wikipedia.org/wiki/SuperPaint> Both of these machines were up and running from 1973, long before microcomputers brought these things to the masses.

</comment><comment><USER5> The article forgot important milestones, like the SAGE graphic displays and lightpens.

<comment><USER6> It's a field too vast to be treated in 3-4 pages.

It would have been interesting to look at the varying competing designs for graphics cards and how the Microsoft-driven DirectX eventually won.</comment></comment>


"Performance Matters" by Emery Berger - <AUTHOR> https://www.youtube.com/watch?v=r-TLSBdHe1A <comment><AUTHOR> This is a really interesting and immediately practical talk. He presents a tool, which is available today, that has produced very impressive performance improvements in widely used software.</comment>


Elena's Motorcyle Ride through Chernobyl - <AUTHOR> http://www.kiddofspeed.com/chernobyl%2Drevisited/

<comment><USER2> While the pictures are interesting, the story is apparently fake. Supposedly, she did go to Chernobyl, but not on a motorcycle and definitely not alone (with her husband, a friend and a tourist guide). <http://www.uer.ca/forum_showthread_archive.asp?threadid=8951> for more info, or google "Elena motorcycle chernobyl fake" or something similar.

</comment><comment><USER3> I think you'll find that's a hoax:

<http://articles.latimes.com/2004/jul/06/world/fg-chernobyl6>

Mentioned here: <http://news.ycombinator.com/item?id=888589>

<comment><AUTHOR> Doh, thanks.</comment></comment>


The Definitive Guide To HTML5: 14 Predictions For 2012 - <AUTHOR> http://techcrunch.com/2011/12/21/guide-to-html5-14-predictions-2012/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29 <comment><USER2> Nice round up piece!</comment>


20 banned books that may surprise you - <AUTHOR> http://www.csmonitor.com/Books/2012/1003/20-banned-books-that-may-surprise-you/Harriet-the-Spy-by-Louise-Fitzhugh

<comment><USER2> What is it with some of these websites? A list of twenty banned books that requires twenty page loads to read? No thank you.

<comment><USER3> Here's the print view:

[http://www.csmonitor.com/layout/set/print/Books/2012/1003/20...](http://www.csmonitor.com/layout/set/print/Books/2012/1003/20-banned- books-that-may-surprise-you/Harriet-the-Spy-by-Louise-Fitzhugh)

Edit: Although I don't know why I bothered.

</comment></comment><comment><USER4> Why is it considered a "ban" when a library chooses not to shelve a book? This is a poorly written article aside from the paging format. I only read three pages of it but by the third I still had not seen any explanation of an actual banning. One it says was banned with no explanation, the other two it says were banned by libraries. I checked out Wikipedia and all three (Oz, Harriet and Merriam-Webster) were "banned" by school libraries. No student or family was prevented from owning or reading these books. The schools simply chose not to put them on their shelves, or removed them from their shelves, and might have publicly criticized them.

<comment><USER5> I think this kind of behavior is considered a ban because it doesn't take a formal government decree to effectively preclude someone from being able to access undesirable literature.

If your school/community library is your main source of literature, then if you can't get it there, you can't get it anywhere.

This argument probably held truer a decade ago, but I'd wager that it's still disproportionately true in less wealthy/technical communities.</comment></comment>


The future of classicism - <AUTHOR> https://www.newcriterion.com/issues/2018/6/the-future-of-classicism-9861 <comment><USER2> The author seems to have a been around a while, I is probably right that we'll see more classical architecture. Here in Norway has there simply not been build an apartment building in the classic style since before world war 2, with the exception of a few post modernist buildings in the 1980's. Compared to graphic designers, which uses classical typefaces all the time, architects seems to be very limited when the only finds inspirations in buildings from the last 50 years. In Norway there has been some cases where old baroque churches have burnt down, and the church has been replaced by a modernist design. Norway probably has the worst urban sprawl in Europe. It would be a huge advantage to get more commuters in to the cities. May be more people would like to move to cities, if there were more newly build classical apartments available?

<comment><USER3> More people would move to the cities of there were more buildings built, full stop. The housing prices in Norway are absurd, in particular in the cities.

And much of that comes from leaving the market up to the banks, resulting in few but expensive buildings being built each year to maintain high price and the hot potato loan market.

Seriously, if you graph out the house prices and household debt, they line up perfectly.

On a different note though, different political parties have different stances on where people should live. Some wants everyone to clump around the cities, while others wants people to live more dispersed.

End result is that the rural population is turning gray and male, as the younger generations (particular females) move to cities to get higher educations and end up staying there.

<comment><USER4> Many stay in the city but move out to the burbs the moment they have a baby on the way (some stay in the city with kids of course, but few). The reason is both that it's kind of expected and that there's very few affordable apartments suitable for families with more than one kid. Other reasons like that the city is unsafe for children etc, is just a result of few families in the cities and bad urban planning.

<comment><USER2> So how do you prevent people from disapperaing out in the burbs after receiving their first baby?

</comment></comment></comment></comment><comment><USER5> "Even the great Lutyens, than whom no architect more beguiles, was crushed by the expectations of commercial clients such as the Midland Bank."

What a great sentence!

I hope and expect that "whom" will be deprecated within my lifetime, but it will be a shame to miss out on sentences like this one.

It is very satisfying to see the passive voice used so irreproachably too.</comment>


Ask HN: How to become a better programmer? - <AUTHOR> This post has been inspired by https://news.ycombinator.com/item?id=8697772 (Ask HN: How or where to begin learning mathematics from first principles?)
I would describe myself as a semi competent programmer but I would say I am more on stack overflow looking for solutions to my problems then actually fixing them myself. I tend to understand examples of code more than actually reading the documentation. Is there a book or website I could follow which would make in time a more competent programmer that an organisation would want to hire?
What I am doing now.
- Programming daily and better learning how best to use cakePHP. - Following some courses on code school (Particularly Angular <comment><USER2> So, in my eyes, competency in programming isn't about knowing everything there is about programming. It's about finding knowledege. There's no shame in looking for similar problems on stack overflow (so long as you don't directly copy if you're in a place which that sort of things matters) and you slowly start to see patterns in your problems, which makes you look a lot smarter than you actually feel.

Unfortunately, you do need to get good at reading doc and code examples. Thankfully you generally get both, but not always.

Having some SysAdmin knowledge goes a long way; terminal command on Windows, Mac and Linux can be a real life saver when all the fancy GUI stuff fails.

The best way to get experience is to actually get involved in coding something medium to large. Its not easy just to jump in, but a lot of open source projects can have some very easy bugs to fix.

To help with recruitment, I add everything I can to github. Even if its bad code it will at least show improvement if you keep going with it (I still cringe at my first attempt at python).

A friend of mine wrote a book about getting hired (helpfully titled "Getting Hired") in the computing industry, it offers some great advice about the employability side of things: [http://books.stuartherbert.com/getting- hired/](http://books.stuartherbert.com/getting-hired/)

Hope that helps!

</comment><comment><USER3> If you want to be more employable then you need to concentrate on the skills that _aren 't_ coding[1]. Develop your communication skills, your organisation skills, being a better fit in to company culture (going for drinks with coworkers for example). Faced with two candidates who can both do the job, pretty much every hiring manager will give the job to the person who'll be easy to work with and a better fit in the team than the person who can write fancy code.

[1] Assuming that you _can_ code. If you can take a spec for a site and turn it in to working code then you're already good enough.

</comment><comment><USER4> try programming a multiplayer game - they encompass all things computer, to a more thorough degree than other things, for example security - anybody can make php site, but can you make on that cant be exploited, the players cant make a cheat and fly around or they players cant keep spawning items they want, its a challenge even for senior devs.

a game has: packet level networking, multiplayer, graphics, direct input from keyboard/mouse, security or anti cheat, copy protection, server/client model, physics or collision detection, video integration or codecs, oop, modules or libs, etc...

and you get to optimize your game (and to see time you optimize, how much each tweak changes the FPS)... it might even be mandatory to optimize your game... whereas with php if its not fast who really will notice. at least thats my thinking -- also its very possible to make a web based game with cakephp+websockets+angular.

what do u think?

</comment><comment><USER5> I don't find "courses" useful really. I prefer following the intro guide for a technology (let's say Django) to set up something simple like a blog. Then try make something more complicated using Stackoverflow and other online resources for help.

</comment><comment><USER6> Take all the advice here with a grain of salt. Start programming everyday. The language you use is irrelevant.

</comment><comment><USER7> always be coding

</comment><comment><USER8> Same way you get better at anything: practice!

Here are some additional tips:

1) Learning to code has a lot to do with how well you Google things and how easily you give up.

Needless to say, you should be great at Googling and not give up easily.

2) Break new things into smaller chunks.

If it seems like something is too hard, figure out the first step. Google it if you can't do it yourself yet. Then move on to the next step.

Every program can be distilled down to very small, very simple parts that are then assembled into something more complicated. It doesn't matter how complicated the end result is: the basic parts are still the same.

(Note that this always applies to web development, but not always to lower- level stuff.)

3) Stop using PHP.

It's inconsistent, and it has these weird mashups of features from other languages that add to the confusion. It is harder to learn other languages when coming from PHP.

I think that Go is a great language to learn on because it's simple, consistent, and explicit. By explicit, I mean that there isn't a lot of "magic" going on underneath your code.

You may also want to check out Python, which has some weird "gotchas" (e.g. inconsistent naming of iterating functions), but is mostly a good learning language.

Java is the traditional beginner's language, but that philosophy has come under fire. I still think it's a good way to learn fundamentals, though. Java has a lot of vanilla implementations of concepts from object-oriented- programming theory.

3b) If you continue to use PHP, turn on strict errors when in development mode. Also use phpStorm (not free) or NetBeans (free). They understand PHP shockingly well.

Using a good IDE is surprisingly vital to learning and coding quickly. You'll want to be able to CTRL+click on classes/methods/functions to go to their definitions (among many other useful shortcuts).

4) If using PHP, Ruby, Python, or Node, learn how to write unit tests and start writing them.

This is incredibly important. They're not that fun or interesting, but you _need_ to get comfortable with them. Not only do they make you much faster at finishing an app, they also make you a better programmer by forcing you to write only testable code.

5) Learn what the following mean and make them your religion (Google is your friend here):

\- (Related to #4) Test-driven development

\- "Premature optimization is the root of all evil."

\- DRY (don't repeat yourself)

\- Principle of least astonishment

\- "You aren't gonna need it"

6) Always have a mission.

If you get up and say, "I'm going to learn how to make a single-page app today," you're not going to learn it. You need to have a real, finished product in mind.

That's what professional coding is (plus getting paid), so that's what you should practice. Many of the philosophies I mentioned above actually require knowing what you want to accomplish.

So as you go through your life, think of apps you want to create and write down your ideas. Don't remove ideas because they're hard -- remove them because you're not interested in them anymore.

7) Look around at different APIs.

There are a ton, and you can mash them up in really interesting ways. There are APIs for payments, text/video/instant/audio messaging, cars, movies, maps, places, government data, weather, finance, _and so many more things_.

There are countless projects you could put together in a weekend that use all of these different APIs. Do it for fun or profit, but make sure you learn how HTTP APIs work! (Strict REST APIs are a fairly rare subset of HTTP APIs, but you should definitely understand REST principles, as they pop up everyhwere.)

8) Ask the right questions.

Don't ask "how do I do [x]?" on Q&A sites or forums. You can just Google stuff like that. "How do I write cookies in JavaScript?" There are a million answers. "How do I send an HTTP request in PHP?" Again, a million answers.

If you really want to grow, take chunks of your code that are clunky or inefficient and ask people if there are better ways to write them.

So instead of saying, "how do I do [x]?", say "I've done [x] like this. Is there a better way to do it?"

That's how you learn. You're basically turning the anonymous experts in those communities into your personal mentors.

9) Seriously think about taking some classes.

Fundamentals are important and will save you lots of time and Googling. I'd highly recommend a class on relational databases as well.

I don't know anything about boot camps, but if you try one out, make sure you "Ask HN" about it.

<comment><AUTHOR> Thanks so much.. I really am thinking of switching from PHP, I really do agree with about improving chunks of code.

I have a to do list of functions that i'd like to program again because I think the way of I have done it is either totally inefficient or simply the worst way of doing it.</comment></comment>


Given enough eyeballs, all bugs are shallow. - <AUTHOR> http://99tests.com/blog/given-enough-eyeballs-all-bugs-are-shallow-why-crowdsourced-testing-makes-sense/

<comment><USER2> The first and only comment below the article is savage. 15 Sept: Aaron, DC Sep 15: Too bad you didn't have this article and all its spelling mistakes crowd- sourced. Imagine how much better it would be if you actually paid people for their time!? And what's with hiring 99tests (for money) but exhorting developers to work for free. Hypocrites.</comment>