Nvidia's New Policy Limits GeForce Data Center Usage - <AUTHOR> https://wirelesswire.jp/2017/12/62708/ <comment><USER2> Developers should be mad about this. Here's where to start contributing to open alternatives:

ROCm: [https://rocm.github.io/](https://rocm.github.io/)

OpenCL: [https://www.khronos.org/opencl/](https://www.khronos.org/opencl/)

TensorFlow: [https://github.com/tensorflow/tensorflow](https://github.com/tensorflow/tensorflow)

Nouveau: [https://nouveau.freedesktop.org/wiki/](https://nouveau.freedesktop.org/wiki/)

<comment><USER3> TensorFlow depends exclusively (st time of writing) on CUDA for GPU acceleration. Leaning on them to support OpenCL fully would unlock the world of AMD GPUs that are move affordable and don't have the same crazy EULA. I regret having bought GeForce cards for machine learning now...

<comment><USER4> TensorFlow also supports Intel Xeon Phi as an alternative

[https://software.intel.com/en-us/articles/tensorflow- optimiz...](https://software.intel.com/en-us/articles/tensorflow- optimizations-on-modern-intel-architecture)

<comment><USER5> afaik Xeon phi doesn't come close to the performance per buck of gpus in deep learning

</comment></comment></comment></comment><comment><USER6> For the longest time they have encouraged people to use Geforce cards for doing machine learning. Now they are changing the licensing and making it not okay for data centers is not gonna sit well with people. Especially with the carveout for Bitcoin miners. The number of customers who are impacted like the article points out will be mainly universities. This is bad move overall and isn't gonna gain them any good will with the community. Like seriously how many companies are out there are putting out Geforce cards into data centers? The big data centers from cloud computing platforms all use Tesla cards.

<comment><USER7> The exemption makes it even more ridiculous, not only do they want to restrict where you can use the software but they also want to have a say in what kind of applications you can use their software for.

This besides the fact that Bitcoin on GPUs is fairly dead, it's almost entirely done on ASICs now.

If you read the license agreement it states that the term applies to 'blockchain processing', not to bitcoin specifically.

<comment><USER8> Indeed.

There are a number of "alt-coins" (blockchain-based cryptocurrencies other than bitcoin) designed to be "ASIC-resistant" e.g. by using the Lyra2REv2 algorithm.*

This is notably the case of Monero and Monacoin, two popular cryptos in Japan. Generally, the Japanese and Koreans are very enthusiastic about cryptocurrencies in general.

Cryptocurrency GPU-mining on Tesla cards would be outright unprofitable.

These facts may contribute to Nvidia's decision not to displease Japanese GPU miners specifically.

____

* _This is to avoid big ASIC farms as is the case of bitcoin (apparently, more than 70% of bitcoin 's hash rate comes from China, most notably from a specific valley where electricity is dirt cheap). One purpose of ASIC-resistance is to maintain a high-enough degree of decentralization in mining, which increases security for the network/blockchain._

<comment> le-mark $20,000 btc can make mining on gpu's potentially profitable again, more so as the price goes up. If the price holds the 6 months or a year it takes to mine one is another matter entirely :)

<comment><USER9> I thought not - you have to win the race to confirm the block and that means thz of hashes... which is unrealistic on a GPU cluster?

</comment></comment></comment></comment></comment><comment><USER10> In good news, this may finally force a court case around EULA's, which basically everyone have known for a decade as bullshit.

Having to agree to draconian terms to use something you own is ridiculous. If EULA's become enforceable there's nothing preventing a toaster maker from banning you from toasting bagels in your machine and countless other absurd usurious machinations. EULA 'shrinkwrap' license agreements are a scourge on the free market and should be banned unilaterally

<comment><USER11> The thing with EULAs is that you do not own the product. You are licensed to use the product under the company's draconian terms. Agree that there needs to be new consumer laws protecting consumers.

A contract used in the old times 1800s to be one to two pages of simple English that both parties negotiated the agreed terms on. Now EULas almost requires a degree in law to understand yet you abide to the terms under civil liability. Further more Eula's are so long most people blind sign without reading and understanding the terms.

There is also questions whether terms in Eula's are legal such as limiting free speech about the product. In many countries free speech is a right regulated as basic first amendment laws.

Can you limit free speech?

<comment><USER12> That's an argument for software licenses. My NVIDIA GPU on the other hand is hardware I own.

<comment><USER13> But is the hardware even any good without the NVIDIA firmware baked inside?

<comment><USER14> Or, is adding some firmware/software enough to impose shitty licensing on de facto hardware products, like printer cartridges or Keurig cup things [0]?

If not, where do we draw the line? Luckily, it seems that people hate this kind of thing.

[0] [https://www.theverge.com/2015/2/5/7986327/keurigs-attempt- to...](https://www.theverge.com/2015/2/5/7986327/keurigs-attempt-to-drm-its- coffee-cups-totally-backfired)

</comment></comment></comment></comment></comment><comment><USER15> This is the relevant change in the EULA you need to accept when downloading (installing?) the GeForce driver. The article is weirdly translated, this is apparently a global NVIDIA thing and not specific to "NVIDIA Japan".

> No Datacenter Deployment. The SOFTWARE is not licensed for datacenter > deployment, except that blockchain processing in a datacenter is permitted.

Edit: [http://www.nvidia.com/content/DriverDownload- March2009/licen...](http://www.nvidia.com/content/DriverDownload- March2009/licence.php?lang=us&type=GeForce) and [https://www.geforce.com/drivers/license/geforce](https://www.geforce.com/drivers/license/geforce)

<comment><USER16> I'm not a legal expert and don't understand EULAs at all. I expected a "Datacenter" to be defined at some point but I didn't see a definition in the EULA.

How should one interpret this? Is a research cluster a datacenter? How about a rack of a few dozen machines I built by hand? I've been in university research groups that had both options.

Somewhat maddening to have a single line in the EULA that's so open to interpretation.

<comment><USER17> IANAL, but in the law there's a thing which is called Contra proferentem: [https://en.wikipedia.org/wiki/Contra_proferentem](https://en.wikipedia.org/wiki/Contra_proferentem) Basically, it means that ambiguous terms are interpreted against the contract drafter.

<comment><USER18> You get that pretty much everywhere that used to be British common law iirc, and it's why contracts frequently define seemingly minor and silly terms, ones which are obvious such as "the undersigned" and all manner of the seemingly banal. In essence the contract is first and foremost agreeing on the same language, to express a commitment which ideally all parties are fully cognizant of.

Edit: spelling

<comment><USER19> Also there is no punitive damages in U.K. law. So what's the worst that could happen? Would you put them back in the position they would have been had the contract not existed, so give the cards back plus a contribution towards depreciation? Would be interesting if someone with legal knowledge could chime in.

<comment><USER20> They could potentially claim damages for the difference in price between the GeForce and the equivalent Tesla, using the argument that using the GeForce in a DC has cost them that amount in lost revenue.

Of course, a counterclaim for existing owners would be that the product they purchased was licensed for DC usage at time the contract was entered into, and so the original rights cannot be unilaterally revoked without consent.

</comment></comment></comment></comment></comment></comment><comment><USER7> If true then Nvidia has gone nuts. There is _no way_ that they can control what end users of their products do with their products and/or their software post download to the extent where they are going to have a say in what locality you can use their software and where not.

Utterly ridiculous. For a company that has seen my solid support so far I'm extremely disappointed.

Could someone fluent in Japanese please confirm the claim in the title?

<comment><USER2> It's true, here is the updated license: [http://www.nvidia.com/content/DriverDownload- March2009/licen...](http://www.nvidia.com/content/DriverDownload- March2009/licence.php?lang=us&type=GeForce).

Text:

      No Datacenter Deployment. The SOFTWARE is not licensed for datacenter deployment,
      except that blockchain processing in a datacenter is permitted.

<comment><USER7> So, once again proof that open source is the only way to go.

<comment><USER21> Open-source drivers don't even support Tesla, not to mention Volta. An EULA challenge seems to the way to go here. I'll be emailing legal for advice once I get back to work.

<comment><USER22> I think the point is less using nouveau drivers for nvidia hardware as it is we should have never accepted CUDA as a standard since the implementation isn't free. Proprietary standards leave us at the mercy of the owners.

</comment></comment></comment></comment></comment><comment><USER4> They already were artificially limiting virtualization on GeForce cards and were always pointing to their data center cards when asked about it. It goes as far as the physical location of the power connectors on the top of the card so it doesn't fit in a server/rack case. I imagine it makes sense from their point of view, the data center cards like tesla are ridiculously more expensive than the consumer cards. NVIDIA was never really a consumer friendly company, instead of cooperating on open standards they always went their own proprietary way. Thats the obvious danger when a company becomes the de-facto standard in some area, they exploit their position for profit. That can't possibly be still a surprise to anyone.

</comment><comment><USER23> This is just a blatant attempt to sell the exact same product to two different types of customers at different prices based on their (presumed) willingness to spend.

Actually it's worse. It's an attempt to cripple a perfectly functioning cheap product aimed at a different audience (gamers) for another audience (machine learning folks) in order to drive them to more expensive products that do the same thing.

Pure greed.

<comment><USER24> You're going be surprised how CPUs are price segmented in that case (they're cut from the same wafers and priced by the clock frequency QA validates at).

Price semgnentation isn't necessarily bad; you want to segment your product in order to maximize revenue across all possible customers; this is just a more egregious/bold attempt at doing so (and is hopefully prevented by a court).

<comment><USER25> Binning CPUs on clock frequency or number of functioning cores is a bit different. If you compared it to a precious metal, the higher price CPUs have fewer imperfections, therefore they cost more. The fact that they carry different product numbers is a bit misleading but the price segmentation actually makes sense.

<comment><USER26> The binning is a bit arbitrary, hence overclocking. A large proportion of parts that are binned to a certain clock speed will perform perfectly well at higher clocks. Bins are decided and priced based mostly on marketing rather than fab yields.

Intel disable a lot of features on low-end chips, which has nothing to do with yield management. There's no technical reason to disable vPro and Turbo Boost on Core i3 chips.

</comment></comment></comment></comment><comment><USER27> This is problem I have with Driver EULA's. If I buy Hardware today under terms X, should the manufacturer of the hardware be allowed to unilaterally change the terms in order for me to continue to use that hardware securely and effectively, which would require updates to fix bugs and vulnerabilities created by the manufacturer.

Basically if I buy a GPU, discover a bug in the product, can nvidia hold that bug fix hostage and refuse to fix the product I bought under 1 set of terms until I agree to a new set of terms

At a minimum I believe the manufacturer should be required to refund, full original purchase price, of any product which they change the terms to anyone that objects to the new terms even if the new terms come out YEARS after the product was sold and well outside any warranty period

<comment><USER28> More interestingly: the targeted datacenters have installed drivers with EULA that didn't include this clause. So if they don't upgrade the drivers, they should be OK?

</comment></comment><comment><AUTHOR> Japanese original:

[https://wirelesswire.jp/2017/12/62658/](https://wirelesswire.jp/2017/12/62658/)

\--

Edit:

Apparently it's just that GeForce cards have(/had?) no warranty for use in "data centers" \--but academic use is not precluded in of itself:

[https://twitter.com/NVIDIAAIJP/status/943141204744585222](https://twitter.com/NVIDIAAIJP/status/943141204744585222)

[https://wirelesswire.jp/2017/12/62667/](https://wirelesswire.jp/2017/12/62667/)

Still, the line is somewhat unclear, I wonder how many university/academic cluster admins are aware of the fact..

<comment><USER29> Datacenter conditions for GPU clocks/power/air tend to be gentler than desktop conditions, so the warranty just disappearing is far from justified.

Edit: Ha, ridiculously unjustified if bitcoin mining is still covered.

</comment></comment><comment><USER30> So if a data center is using these cards, and is eventually forced to install a newer driver, they are now in violation?

That seems a bit insane to have used a product that then ammends its own EULA to prevent you from using it entirely...

<comment><USER20> The simple solution is to have some simple software that processes a blockchain in some low priority way in order to easily bring you back into a licensed state.

</comment></comment><comment><USER31> If they manage to stick this - which is a big if - wouldn't that just cause a major pivot of interest to ML on AMD? Sure, OpenCL is very much the poor cousin right now, but an 8x cost hike is a pretty strong incentive to look around for your Best Alternative Elsewhere.

</comment><comment><USER32> Realistically, this change is most likely aimed at "forcing" the hand of very large companies to co-operate with using Tesla instead of GeForce-based stuff.

Think Amazon, Large Supercomputers, etc. They probably won't care or chase the smaller folks (be careful if you get too big though :-)

I wonder if these terms are also on the Linux downloads?

<comment><USER33> In the case of Amazon, who is responsible? Amazon might provide the hardware to their customer via an EC2 instance, but it's the end customer who downloads, installs, and uses the driver. The EULA restriction is on using the driver, not the hardware.

<comment><USER32> This is true, but (1) Amazon likely has special agreements with NVIDIA for all sorts of reasons, if they did this kind of thing against NVIDIAs wishes they'd just push back with those agreements (e.g. pricing on proper GPUs, etc) (2) Many big customers won't like it

This kind of behavior works best for smaller players, who are the ones they don't really care about either.

</comment></comment></comment><comment><USER34> I wonder how this can be enforced?

How will nvidia know how its users are using the GPUs? How will they know if a GPU sits in a datacenter, or in a desktop with xeon CPUs?

</comment><comment><USER35> Curious coincidence... I was thinking of something similar earlier today.

What is physical object had EULA licenses like, software ?

Something more-or-less serious, like "you are not allowed to use this knife to eat meat", or "you are not allowed to use this spoon to eat jelly" or even "it is forbidden to publish a benchmark of this car" (related to an article that passed here on hn like a week ago).

Would such EULA licenses be enforceable ? And so, assuming companies would be allowed to enforce clearly ridiculous terms, what does this tell us about software licenses ?

<comment><USER36> Physical objects are sold. Software (GPU drivers) is subject of copyright law — it's licensed.

<comment><USER37> Many (most?) new high-end consumer products run on software now. Your car, your fridge, your washing machine, your thermostat, etc. You do own the product, but they could make you "activate" the software license using the web, with an included EULA to click through. I suspect we will see some abuse of this in the future.

</comment></comment></comment><comment><USER38> And here it is again: [https://xkcd.com/743/](https://xkcd.com/743/)

"It's the world's tiniest open-source violin."

As much as I disagree with most of RMS's politics, the man has been proved right time and time again with respect to the dangers of building on proprietary software.

This is just the latest in a long, long line of outrages.

When will we as a development community quit this weird Stockholm-syndrome- like relationship with proprietary systems vendors?

Build on NVidia, build on iOS, build on OSX, build on Windows, that's fine. It's your call. But don't act surprised when you discover the real nature of the extant power relationship.

<comment><USER39> > When will we as a development community quit this weird Stockholm-syndrome- > like relationship with proprietary systems vendors?

When most companies stop treating open source as a way to decrease their development costs, or as a legal way of doing piracy.

I was big into open source for a decade, but it hardly payed most bills.

Only software that requires consulting, training, or can be hidden behind a server wall is profitable as open source.

And since the supermarket lady and my landlord don't take pull requests, I build for systems vendors.

<comment><USER38> I think you may have missed my point (which in turn implies I didn't explain it well ;) ).

What I meant was: if you're building a system for your own use (including things like ML platforms and SaaS sites) why pick a target platform that is known hostile?

</comment></comment></comment><comment><USER40> Did they do a find/replace of "NVidia" to "NVidia Japan"? It is strange to attribute everything to the subsidiary.

<comment><USER41> The original Japanese posted elsewhere does not make the distinction; it's just NVIDIA. So, it's a translation thing?

</comment></comment><comment><USER42> I can see how you might try to limit warranty claims under unapproved operating conditions (like 24/7 100% duty cycle) but this is a bridge too far.

</comment><comment><USER43> From a sales point of view, Nvidia actually doesn't care that much about researchers, they make up a small percentage of sales. They care about gamers (VR has been a big help), and especially cryptocurrency mining where customers will buy multiple video cards at a time (kaching). There are even blockchains now that are resistant to ASIC mining, where GPU mining is the best again. (BTG for example)

I suspect that from Nvidia's viewpoint, cloud providers are a middleman and make GPU usage more efficient, which threatens sales. Why should I, ask a cryptocurrency miner, buy 4 new video cards when I can rent unused time that has already been paid for by someone else at the data center? (if the cost is cheaper, which sometimes it is)

Though I question how they intend to enforce this new provision of theirs given that GPU cloud usage is already widespread.

<comment><USER6> The inverse I think might be true. If the GPUs are much more accessible on the cloud, deployment and placement problems handled, then more developers will be comfortable building around that. Otherwise, it's a massive hassle to have physical machines with specialized hardware.

</comment></comment><comment><USER44> I don't know if this article is correct, sans a legal/safety reason or a warranty void. Doesn't seem like something Nvidia could legally prevent you from doing.

That said, I use GeForce GPUs in production datacenters and this wouldn't stop me. I put a dummy load on the display output and use them to take screenshots of web sites with WebGL for Neocities. It's the only way to really do it. The Tesla blowtorches are just for ML crunching, I don't think they work for what I use datacenter GPUs for.

Also my datacenter power connection I get would trip under the Tesla's power requirements, to say nothing of the costs. Might as well plug a Tesla car in while I'm at it.

</comment><comment><USER45> I thought the NVIDIA drivers for the more fancy cards (TITAN etc) are the same as for the gforce cards. Wouldn't this restriction apply to those cards as well? Doesn't make much sense to me...

<comment><USER21> They can't price-differentiate FP64 compute out, since ML uses FP32 or even FP16. They tried discriminating FP16 performance but frameworks switched to using FP32 units and downconverting to FP16 after. They can't kill FP32 performance since that's used for gaming. They tried killing the virtualization, they tried differentiating based on clustering, they tried every reasonable technical procedure. So now they're falling back to legal means, to defend an artificial price distinction that has no reflection in card features that anyone cares about.

<comment><USER46> In the future, Teslas will have Tensor Cores and GeForces won't, so deep learning will be much faster (but also much more expensive, so it kind of cancels out) on Tesla cards.

<comment><USER47> They have just released the new Titan V, which has Tensor Cores I believe. That would indicate that they do want to include them in non workstation/dedicated ML cards, no?

<comment><USER48> Except that they dropped the GeForce branding from the Titan V, and appear to be targeting the card for compute at developers/researchers [0].

[0] [https://nvidianews.nvidia.com/news/nvidia-titan-v- transforms...](https://nvidianews.nvidia.com/news/nvidia-titan-v-transforms- the-pc-into-ai-supercomputer)

</comment></comment></comment></comment></comment><comment><USER2> This should be a rallying cry to the developer community to stop using software with restrictive licenses.

[https://m.youtube.com/watch?v=9sJUDx7iEJw](https://m.youtube.com/watch?v=9sJUDx7iEJw)

"Join us now and share the software!"

In all seriousness anybody using CUDA should immediately start checking out and contributing to ROCm, AMD's Open Source Compute Platform:

[https://github.com/RadeonOpenCompute/ROCm](https://github.com/RadeonOpenCompute/ROCm)

<comment><USER49> While I agree with you, saying things like "dirty software hoarders" kind of kills your message.

</comment></comment><comment><USER50> Hell ya, more reason for people to switch to AMD.

</comment><comment><USER51> One of the benefits of the AMD-ATI acquisition is that they can weather GPU shortage/oversupply more easily. I assume that NVIDIA is worried about an oversupply of GeForce GPUs when the mining boom ends, right?

</comment><comment><USER52> Was wondering how long until they pull off something like this. I've seen startups (and some established hosting companies) offering cloud and bare metal GPU with GeForce cards - which are far cheaper than the official datacentre cards Nvidia sell.

On the positive side, hopefully this will mean a consumer GeForce Tesla soon, now that they think it won't cannibalise their datacentre GPU sales.

I really wish ROCm worked seamlessly and they had some competition.

</comment><comment><USER53> I wouldn't call a uni's server room a "datacenter". NVIDIA should clarify that it doesn't apply to experimental researchers.

</comment><comment><USER54> I really can't understand how could this license change not mentioned at all previously in Non-Japan countries.

This issue has been widely known because a famous[citation needed] Japanese entrepreneur accuse NVIDIA for the recent silent license change.

</comment><comment><USER55> I can see the reason they are making this move is because the supply of GeForce Video cards is being used up for things other than Graphics duty like mining block chains or AI training. It's probably a desperate supply move

<comment><USER56> While I think it's probably part of the reason, if it was the only reason there are bound to be other less customer hostile ways of solving that particular problem.

<comment><USER21> They can't price-differentiate FP64 compute out, since ML uses FP32 or even FP16. They tried discriminating FP16 performance but frameworks switched to using FP32 units and downconverting to FP16 after. They can't kill FP32 performance since that's used for gaming. They tried killing the virtualization, they tried differentiating based on clustering, they tried every reasonable technical procedure.

This seems consumer-hostile because the entire thing is consumer-hostile - they want ML researchers to pay more for graphics cards because they have more money to spend, not because they can offer superior performance. (They _can_ offer superior performance to GeForce, just not superior performance/$ or performance/W.)

<comment><USER55> You cannot just look at that, the Tesla's have bigger memory bandwidth and bigger memory which can help to utilize the GPUs better by having faster access to more data

<comment><USER29> If you're in the specific range where your problem doesn't fit in a GeForce and does fit in a Tesla, then it can be great.

For a very large number of problems that are smaller than both or bigger than both, that extra memory bandwidth is a _lot_ smaller than the price difference.

</comment></comment></comment></comment></comment><comment><USER57> This EULA change are not acceptable. For example: If a game developer creates gameplay video for customers at the data center it will be the violation of the EULA.

</comment><comment><USER58> So... fuck the license agreement. They can't sue everyone.

<comment><USER59> It's so weird to see the responses in this thread of people saying they're going to ask their legal department. Have fun when your self-justifying legal department turns around and dictates the company can only buy the more expensive cards, they now want to review the legalese bombs for everything else, etc.

Just ignore the wordbarfs as the UPPER CASE INCOHERENT SHOUTING THEY ARE. Everybody knows that nobody reads "EULA"s, and a meeting of minds is a necessary requirement for there to even be a contract. These fantasy "terms" literally only exist to the extent we acknowledge and dwell on them!

<comment><USER58> This is more about making a statement of defiance against openly monopolistic and abusive terms, about showing companies that they do not get to twist around the market like this. Show them that customers are in charge, and that companies are mere stewards

</comment></comment></comment><comment><USER60> Does this apply to just the GeForce app, or the drivers themselves? If it's just the app you can always manually install drivers.

And how does it affect Linux kernel drivers?

</comment><comment><USER61> Good luck enforcing this nVidia.

</comment><comment><USER62> What's the tl/dr on this?

</comment><comment><USER63> So, it's just of matter of reverse engineering the driver?

<comment><USER64> Or just using it despite the EULA? It's not like the driver knows where the server is physically located.

<comment><USER65> > It's not like the driver knows where the server is physically located.

Well, it probably currently doesn't guess the server location, but it doesn't seem impossible or even hard if they think it's useful to them.

</comment></comment></comment><comment><USER66> When does a bunch of servers become a datacenter though? When a university group runs their own servers that only the group has access to, is it a datacenter? If I buy 2 servers and put it in my basement, is it a datacenter? What if its only one server?

</comment><comment><USER67> Typical HN kneejerk comments.

The GeForce series cards are designed, spec'd, priced for consumer usage. Nvidia has to warranty and guarantee what they sell, consumer confidence is important.

When you're doing ML or blockchain Proof-of-Work the card becomes a consumable. Is it fair for manufacturers to guarantee them like they would a consumer desktop or gaming GPU? You expect people who play with ML in their free time to subsidize your GPU cluster?

That said, hope this gets people angry enough to make TF support OpenCL. CUDA is too pervasive.

<comment><USER68> They want people to buy their more expensive card for ML stuff. The silicon probably isn't all that different.

<comment><USER67> Not all chips are born equal and that's why faulty/poor performance cores and components are deactivated and chips sold in tiers. Look into it, same silicon on paper, but not on silicon. The problem comes from those specs and the warranties, guarantees, consumer protection, etc.

So decide, overbuilt GPUs (more expensive), firmware gimped GPUs (less performant), or non warrantied( risky ).</comment></comment></comment>


Is Denver already a Seattle? - <AUTHOR> Denver is well on its way to becoming unaffordable, even without Amazon's help. Denver all over the internet as the #1 choice for HQ2. Denver home prices are up 10% yoy, avg homes around 400K right now. If you throw an Amazon on that Denver fire you looking at 20-30% housing price inflation even before ground is broken.
Denver would turn into a Seattle in 24 months.
The Denver home speculators are probably already salivating with anticipation of this "done-deal".
Toronto, Boston, NYC, DC, all of California in the unaffordable category. <comment><USER2> Denver is still a blooming city. Take a look at the National Geographic Megaregions map. Colorado is like one long stringy island of nodes.

<comment><AUTHOR> I know it's blooming, and that is why that home prices will soon be out of reach. If the average house sprints to $700K like Seattle, how do you recruit workers from out of state?

<comment><USER2> Yeah it's really rough. It'd be nice to take a cue from Paris and France and make Artist Enclaves or Warehouses where rent was cheap or nonexistent and patrons supported people of various professions (coders, artists, musicians, whatever).</comment></comment></comment>


Software optimization resources - <AUTHOR> http://www.agner.org/optimize/

<comment><USER2> From the first guide (talking about Java and C#):

"The time it takes to load the framework and compile the program are often much more than the time it takes to execute the program, and the runtime framework may use more resources than the program itself when running. Programs using such a framework sometimes have unacceptably long response times for simple tasks like pressing a button or moving the mouse."

When efficiency is important, the startup time of the VM hardly matters. Even if it would, the issue is not loading the Framework (class library) but JIT compilation. And, no, simple tasks like clicking a button will certainly not cause any observable delay due to the language.

<comment><USER3> Java and C# are very fast for certain problems, but running 'for i in *; do java MyProgram $i; done' in a large directory is decidedly less pleasant than it would be with the same program written in e.g. C. For very small programs, msot cycles are indeed not spent on the program itself.

(Of course, looping in that way is still inefficient when your program is written in C.)

Clicking a button shouldn't cause a noticeable delay on vaguely modern hardware, I agree.

</comment></comment><comment><USER4> These are invaluable references -- I hope we have many people here familiar with them, or new readers appreciating them.

It's a shame that nothing quite so comprehensive exists for IO, as network and storage accesses, patterns and quirks are often more of a bottleneck than CPU, for many applications.

</comment><comment><USER5> These are last resort measures. Things you can do when all other resources (doing less, better algo, better datastructure) have been depleted.</comment>


Today's Commercial Users of Functional Programming Keynote: Real World Haskell - <AUTHOR> http://www.serpentine.com/blog/2009/09/04/slides-from-my-cufp-2009-keynote-talk/

<comment><AUTHOR> Essentially a call to arms for the FP community to pursue outreach.

</comment><comment><USER2> I clicked through an entire 30 of these slides before bailing; they contain nothing about commercial uses of functional programming or Haskell.</comment>


Technology should be used to create social mobility – not to spy on citizens - <AUTHOR> http://www.theguardian.com/technology/2015/mar/10/nsa-gchq-technology-create-social-mobility-spy-on-citizens

<comment><USER2> The gist of the Reagan revolution is that it is cheaper to buy off 1% of the population than it is to buy off 99%.</comment>


Why People Don't Upgrade Their Browser – Part IV - <AUTHOR> http://blog.mozilla.com/metrics/2010/04/21/why-people-don%e2%80%99t-upgrade-their-browser-%e2%80%93-part-iv/ <comment><USER2> I'm surprised my reason isn't more common, but maybe it's included in some other category. I want to know which of my add-ons won't work before I install the update.

<comment><USER3> In my experience, Firefox has been checking add-on compatibility before updating for quite a while now. Have you tried it recently?

<comment><USER2> I don't understand how to benefit from their checking. Are you saying I should expect all my add-ons to work or that there is a place where they say which add-ons will work? Or does the installer give a warning before installing about which add-ons won't work?

<comment><USER3> The updater checks whether your add-ons will be compatible with the version that is to be installed. You can then cancel the upgrade if you want.

</comment></comment></comment></comment><comment><USER4> No time to upgrade but they time to fill out a survey? I don't get that. Maybe a prediction of how long an update will take. People might think they need to reboot their machine.

I also wonder how many of the people who didn't upgrade and didn't fill out the survey would have said "no time".

<comment><USER5> It would also help if they prompted for permission at the _end_ of users' sessions, not at the start. No relaunch necessary and users don't have to wait for an update to install before they can start browsing.

<comment><USER6> That doesn't seem feasible, most people (that I know) leave FF running all the time; or if they do close it the last thing they want is the application taking even longer to shut down because it wants to ask about running some updates. Think about the scene from Office Space.

Nagging people while they're trying to do stuff obviously isn't ideal either. So as just about everyone has mentioned: Chrome's silent updates are a big win for convenience. Because should the average user really have to think about keeping their software up to date?

</comment></comment></comment><comment><USER7> The awesome bar. Any non-deterministic address bar is infuriating to me. Chrome's is pretty bad. IE is the best out of the modern browsers. Best bet is to stay with an old version of firefox: 2.0 or earlier; you can spoof any naggy sites like youtube by updating the version in about:config's general.useragent.extra.firefox. The day you find any diminished functionality should be very novel.

<comment><USER8> I can't believe that you select you browser based on the address bar. What about page loading speed, rendering and security?

Some of the awesome bar's functionality can be turned-off. For example:

       browser.urlbar.maxRichResults

could be set to zero.

<comment><USER9> Chrome is my current default @ home, IE8 my current default @work. I keep them both up to date. FF has been my default in the past. It's my business to keep up on our web sites' x-browser compatability, so it's important for me to switch browser from time to time.

I got shot down about this on HN in the past, but I'll say it again. The only thing I don't like about Chrome is forcing me into the Omni Bar, and not giving me the CHOICE to have a secondary search gadget for secondary and tertiary search engines (like FF and IE do). The keyword/tab option does not work well for Wikipedia because it does not propery handle spaces in the search string, and even if it did I just like having the secondary search box.

<comment><USER8> There is an extension called "Search Box" that might do what you want in chrome. This is a secondary search gadget.

</comment></comment></comment></comment><comment><USER10> Main reason: Too frequent updates with little noticeable improvement is a hassle.

<comment><USER11> The frequent updates are security patches. You want them to be frequent and not to change things beyond the security issue.

There is a definite case for those to be a silent install though.

<comment><USER12> I was surprised to find disdain for Chrome's silent updates in the comments of the article. The fact that Chrome silently handles such security updates and never nags me about them was one of the (lesser) reasons I switched away from Firefox--even though Firefox's minor updates are fairly quick and relatively painless, I still found myself annoyed when it kept asking me to install them.

<comment><USER13> As long as there's no user-visible changes and it just silently fixes some internal bug, I'm okay with that. I'd be annoyed if anything user-visible changed without Chrome telling me it was upgrading, though.

(And the real push-back will probably come if a silent update accidentally breaks things, so I guess there's extra incentive to make sure that doesn't happen.)

</comment></comment></comment></comment><comment><USER14> People are scared to touch their computers, that's why they don't upgrade anything.

</comment><comment><USER15> For me, it's because upgrades are not simply "what you have now, but incrementally and linearly improved", but a mixture of "stuff you liked, now gone", "some things fixed", "some things now broken", "new cool features", and "crap you don't want but now have to live with".

For example, in FF2 all the profile stuff was text. I could easily copy cookies form one machine to another, or tweak some settings file. Now I have some sqlite db files in there that are much less easy to hack on.

I've had useful add-ons stop working in FF3 as well. And I haven't seen any real improvements in FF3 or FF2. Doesn't seem any better with memory, doesn't seem to crash less often.

I've considered making Chrome my main browser, but until recently (as far as I know) it broke some essential command line behaviour: when I start an app from the CL I want it to always open a new instance. I do not want a new tab in an existing instance. Especially if that existing instance is on some other desktop.

But Chrome is still lacking some of the add-ons I like for Firefox (though that's improving as well).

Dear LazyWeb: Is there something like Ruby Version Manager, but for browsers?

</comment><comment><USER16> This explains why people don't upgrade _FireFox_ but I want to know why people don't upgrade from Internet Explorer to a better browser.

</comment><comment><USER17> Here's what I think would be ideal from a User Experience perspective: Firefox silently prepares the update as soon as it's received but keeps the old files around. At either the start or end of the browsing session, it asks whether you would like it to update or not and, if you do, all it has to do is flip a bit switch and you're updated.

The major pain in updating is that the point where I'm starting my browser, I'm usually in the middle of _doing_ something. Interrupting that by 30 seconds is not my idea of fun.

</comment><comment><USER18> I know when I upgrade applications I want to hesitate since some previous upgrades have changed the user interface significantly enough that it does take a while to "relearn" the interface. Mozilla might try to query those who have upgraded to show that "down time" is at a minimum, if seen at all, and one can contribute to the growth of the browser by doing so.

</comment><comment><USER19> The most important reason seems to just be a variation of the status quo bias: <http://en.wikipedia.org/wiki/Status_quo_bias>

</comment><comment><USER20> Did anybody notice that Firefox 3.6 and later forgets address bar history?

</comment><comment><USER21> That's a dangerous article for Mozilla to publish. You know, what with Chrome gaining ground and whatnot...</comment>


Ask HN: What is the long term outlook on Bitcoin right now? - <AUTHOR> I have seen many negative observations on HN through the years. I am curious if some think it will crash soon or keep growing. Is it overhyped and destined to fail or is it sustainable and promising? <comment><USER2> $0 or $150K

If it survives another 10 years, will probably reach parity with value of all global gold holdings. This would put price per coin at somewhere around $150K.

There is a real (but decreasing with time) chance that Bitcoin will fall to near $0 - from extreme regulatory pressure, a security flaw in core protocol, or a clearly superior cryptocurrency taking market share.

Will be very interesting to see what happens if it breaks above $150K. At that point, the bubble starts to be 'nation-state' sized, and has the potential to cause a global recession as it sucks value out of other asset classes. Seems implausible, but never say never with Bitcoin. For the past 5 years I've been saying "Someday bitcoin might hit $10K!", and it arrived much sooner than I expected.

</comment><comment><USER3> sustainable and promising yet unstable</comment>


Ask HN: Would city-controlled cars be safer than autonomous cars? - <AUTHOR>

A city could have its own software system for controlling all cars within its boundary.<p>Would this be safer than having autonomous cars? <comment><USER2> No; it takes no account of pedestrians or local conditions. Case in point: San Francisco's MUNI system, which does a nightmarishly bad job of managing light rail and which has resulted in several collisions. Autonomous vehicles with _ad-hoc_ networking capability strike me as a far superior approach.

<comment><AUTHOR> Why can't a city-controlled system take account of pedestrians and local conditions?

<comment><USER2> Because you'd have to have cameras on every single intersection and it raises a host of privacy issues - you'd effectively have a panopticon with a central point of control, which would provide would-be securocrats with a single point of leverage.

</comment></comment></comment><comment><USER3> I, completely pulling this from thin air, would say no.

When the inevitable error happens in a network setting, one error could effect every car that shared a given property (say, every car on the same road.) Or it could send a semi down a street the wrong way and not catch the error, taking out every other car coming in the opposite direction until the semi is pieces.

Autonomously, with each car working for itself, the inevitable error could effect many cars, but, at least the other cars could potentially compensate by swerving.

Similarly, I'd rather have a home server than have everything in the cloud.

</comment><comment><USER4> Think about what else the city controls. "City-controlled" should be reserved for things that have a huge safety margin of error.</comment>


Computer Paints Next Rembrandt [video] - <AUTHOR> https://www.youtube.com/watch?v=IuygOYZ1Ngo <comment><USER2> I was a little disappointed in this. In his strange little book "Imaginary Magnitude", Stanislaw Lem imagined an entire branch of literature, "bitistics". This is the literature produced by AIs, essentially. The first such work is "The Girl", Dostoevsky's final work that was never actually written.

I wanted MSFT's computer to do the same thing that Lem's bitistic writers did: visual the entire corpus of some artist's work, and "fill in the holes" with material that the artist never actually completed.

But alas, MSFT did some of the usual statistical jiggery pokey and decided on a white guy with big pores and a hat, wearing a ruffled collar. Then, they got some other tools to make the painting. Maybe Rembrandt would have painted it, maybe not. We won't know until AI is as good as Lem posited it could get.</comment>


Ask HN: Is it possible to live off technical writing? - <AUTHOR> I co-authored a book on Python last year and it was a lot of work, but also a lot of fun. Does anyone have experience with writing part time or full time on technical topics? How would one get started? <comment><USER2> I'm a technical writer at Fastly and a published author with No Starch Press. I've worked full time as a technical writer since 2006. It's a great career and I highly recommend it.

If you have a technical background and you've coauthored a book, you already have what it takes to find full time work as a technical writer. There are really two ways into this field. You start with a background in English or professional writing and learn the technology, or you can start with a computer science degree or something similar and learn how to write. It sounds like you've done the latter.

The pay is good if you work for a company full time. Many technical writing jobs these days are remote. (All of the tech writers that work for Fastly and GitHub are remote, for example.) You could probably do freelance work, but I've never been able to make that work. Most companies don't outsource their documentation and I'm not entirely sure why, although I suspect it has something to do with them wanting to build long term relationships with the individual(s) documenting their products.

You will need to do some networking. You may want to consider attending Write the Docs ([http://www.writethedocs.org/](http://www.writethedocs.org/)), a conference for technical writers. Depending on where you live, you might also be able to find an active STC group.

Or just start applying for jobs. :) Really good technical writers are hard to come by, so if you know technology and you can write, you'll probably have the job offers flooding your inbox. This recent posting at DataDog is a good example of something you will want to keep a lookout for:

[https://www.datadoghq.com/careers/detail/?gh_jid=169167](https://www.datadoghq.com/careers/detail/?gh_jid=169167)

Hit me up if you have questions.

<comment><USER3> If I can ask...what do you make as a technical writer relative to what you could be making if you were an average person doing the actual technical job, e.g. what is the work and wage like to write about JavaScript as opposed to being a front-end developer at the average tech company?

<comment><USER2> I think wallflower is right: Technical writers generally get paid less than what developers make. But every company is different. At Compose.io, for example, I think it could be more of a blended position, which is to say that you could be writing documentation and contributing to the codebase [1]. There may not be much of a pay gap at companies like that.

There are also other benefits. Technical writing positions are generally extremely low stress jobs where you have ample time to finish your work, learn new technologies, etc. And as I mentioned before, many of these positions are remote, so you have the opportunity to live in places with low costs of living.

[1] [https://compose.io/jobs/#technical-content- creator](https://compose.io/jobs/#technical-content-creator)

</comment></comment></comment><comment><USER4> As a full time job at a company, it'll pay less than your counterpart role in development. As a solo person building a brand a la Michael Hartl (Rails, Learn Enough), it's a business, and marketing is a big part of it.

In terms of getting a job at a company, I've seen people pursue technical writing certificates. Though, I think a long list of open source contributions will speak for itself when it comes to modern software gigs. It seems like you have a bit of experience pursuing the second route already, so it's not a bad idea to keep doing that, then lateral into a place of employment.

I think the likelihood of making a living as an indie developer is greater than as an indie on the App Store for example. Tracy Osborn (Hello Web App) said herself that one book wouldn't provide a living, though she surmised that someone with multiple books might. The speaking engagements, networking, and new opportunities will help overall in filling the gaps.

An in depth book may take 6 months to a year to write, but if the writing process can be scaled down to 1 - 2 months per book, with the quality not suffering too much, I don't see why it's not possible that a person can be doing this full time/exclusively after a year of publications, with other contract engagements. To clarify, a number of these books will likely address to a specific framework du jour, or learn X in 1 week, but there can be some that are absolute gems/labor of love.

Disclaimer: I'm just an observer, hoping to explore the same path.

</comment><comment><USER5> I've had fairly good success with my books on math and physics. It's not a living yet, but definitely helps with the bills. Amazon (via CreateSpace) is by far my best channel, though when I can bring traffic to the book's website I have decent conversions too. The mailing list works great, though I'm hesitant to milk it as I don't want to spam my readers.

To reiterate patio11's comments, make sure _you_ run the business (80% marketing + 20% pushing the book to distribution channels), as this will give you very interesting margins, like 45% of the list price. In comparison, if you were to write for an established publishing company, you'll get < 5% of list price, so totally not worth it (unless you think they have a magical marketing department that can sell 10x more product than you could on your own).

I totally recommend it as a career option, though keep in mind writing a quality book takes a lot of time, like a year per book... Feel free to email me if you need further advice (or a LaTeX template). Be sure to also check out [https://github.com/softcover/softcover](https://github.com/softcover/softcover) Michael Hartl's kick-ass ePub/mobi production toolchain.

</comment><comment><USER6> I am part-time author of books and articles from IT area. Nowadays I am writing my third book. Article take me just a few hours during evening. Books around 250 pages takes ma around one year, written mainly during evenings and nights (my wife is getting insane from this).

In regards to money...no, you can't pay your mortgage from it.

In regards to fun .. yes, it is fun, usually I learn a lot with every book.

In regards to development....yes, it can help me get better job since it is some kind of marketing, and there are not so much candidates with same portfolio. Another thing is that it helps me develop my skills, language and thinking.

In regards how to start ... get in touch with some chief editor, they have a list of topic they and possible readers are interested in. I always send them resume with short description of my previous work and projects.

<comment><USER7> My uncle is a technical writer (full-time job) and it certainly pays his mortgage.

<comment><USER6> From my experience writing articles for magazines, documentation, technical analysis on daily basis might be enough for your bills.

But writing books (if it's not bestseller) isn't so highly evaluated. You receive only 8-15 % (depends on contract) from final book price.

</comment></comment></comment><comment><USER8> I can't speak to the people writing books on coding, etc., but I have written a lot of product documentation and am thinking about doing it full time as an independent consultant.

The small startups where I have worked have had woefully bad documentation. Developers and support reps never have time or want to write it. I would say the most useful thing I have done for these companies has been to set them up with a basic Zendesk account and just start writing articles to answer the most basic support issues and how-to guides.

I have found these topics to be not very prone to political word-smithing. People are just grateful for the documentation to be written. The company word smiths and bulls __t artists would rather fight over the copy for the front page of the website than type up "Troubleshooting CentOS Client Installation". It's uncontroversial stuff.

You would have to offer a turnkey solution (set up a Zendesk or Confluence knowledge base for them, perhaps as a value-added reseller), propose a list of articles to be written, then knock it out in a couple weeks, with add-on work to keep the documents fresh with future releases.

Your sweet spot would be companies with 25 employees or fewer who don't have the money to bring in a full time technical writer.

I don't think you could make F-U money, but you could do much of it remotely, and it would be less stressful than other types of work. Your clientele would have to come largely based on personal reference.

Curious if others think this is viable...

<comment><USER9> Sounds pretty reasonable to me.

Doing this properly is often not the most fun thing that people can be doing, but is extremely important for getting others using your, well, whatever. I remember working with an older colleague who was excellent at building up good documentation and we'd follow whatever instructions were there, hit problems and solve them, add something to the docs then go back to the beginning and go through everything again. In doing so, we could often create scripts to automate sections and improve the setup process itself.

It's a task that can be hard to get devs to spend their time on, requires skill in a few different areas and has some clear benefits (reduce dev setup time / onboarding costs, improve customer support, etc). There's no lock-in and progress and completion can be pretty clear.

There might be a good source of bounties for the same kind of thing for open source projects too.

<comment><USER8> Thanks for the advice. I once read that if everybody thinks something is boring, but you find it fun, then it might be a lucrative niche. That's how I feel about documentation.

</comment></comment></comment><comment><USER10> I serve on the evangelism team at Twilio. Technical writing is a big part of our job. We also spun up a Developer Education team last year which writes in- depth tutorials and the docs.

I think you may have been asking if it's possible to live off of freelance technical writing, in which case, I can't answer that based off of personal experience. But there absolutely are jobs out there that require a competent developer with exceptional communication and teaching ability.

<comment><USER11> Hey I'm curious about how your team evaluates technical writing talent, what does the process for hiring look like?

</comment></comment><comment><USER12> I'm not a technical writer, but I've been at a few firms that have hired them. A couple observations:

1 - There's an enormous gap between great technical writing and so-so technical writing, but it is hard to get paid for the great work unless you're working for yourself. (Hard for a company to pay one technical writer $50K and another $100K, but they can pay $100/hour part-time vs $50K full-time to someone who can do clearer work in a quarter the time)

2 - Many people write books with secondary agendas (to promote their day- career) so it's hard to just make money off the book. A well-written book is a fantastic calling card, though, and beats any resume.

3 - For better or worse, some of the coolest folks in tech are the writers. I don't know why. Perhaps because they're in it for interest rather than getting rich?

4 - I don't know any dabblers who have made a career of it, but I know several who have said "This is who I am" and have made a decent living.

How to start? Start writing a blog! Then share your portfolio. Meet people until you find one that has a need. It's a different field than engineering where every company has holes. It's more like there's 0 or 1 spot, and you want to be top of mind to someone who has 1.

Good luck!

</comment><comment><USER13> I work on Developer Relations at Google. My team alone employs ~30 full time Technical Writers in Mountain View, San Francisco, and Kirkland. These 30 are largely responsible for writing developers.google.com and developers.android.com. There are a few hundred at Google all told.

If you're interested: samstern [at] google

</comment><comment><USER14> UK-based full-time employed tech writer here. Been shaping my experience towards that magic 50% programming (Java, JavaScript, Python) and 50% writing. Current gig pays well but doesn't offer the amount of programming I would like. I've been a freelancer (10 years) before, and it's a little feast-or- famine, but averages out at least equivalently to being employed, with the added bonus that you usually get decent, long breaks between contracts. Various UK government-based initiatives (e.g. IR35, recent dividend legislation) have slightly taken the lustre off the freelancing lifestyle, but not so much that I wouldn't reconsider it for the right kind of work.

I've been seriously considering some outreach to young startups who wouldn't need a full-time writer. Great docs really help to distinguish great software - would Django have become so mainstream if its docs weren't so good?

Edit: typo

</comment><comment><USER15> My memory may be a little hazy, but check out /u/GrinchofSR on Reddit for someone who has spun technical writing into a long term location independent career - and not the 'it costs me $1,000/mth to squat here' Digital Nomad, I recall him sharing average months of around $20,000 income which is 'making a living' by pretty much every standard.

<comment><USER16> that user doesn't seem to exist anymore on reddit

<comment><USER17> I made a web search for that name but didn't find it. I think parent commenter must have misspelled it.

I found something else, though, through that search: [http://www.nackerhews.com/news](http://www.nackerhews.com/news). Be sure to follow the link to [https://en.wikipedia.org/wiki/Spoonerism](https://en.wikipedia.org/wiki/Spoonerism) at the bottom (or here where I just repeated it) to understand what it's all about.

</comment></comment></comment><comment><USER18> I spent about a year writing technical documentation for clients as an add on service to consulting. It was a really nice experience. It was the main source of income for some months. People would try and hire me for writing but I wanted to focus on code. One trick I learned is to find not well documented projects or APIS and write tutorials about them. Then turn those tutorials into cookbooks. That sold well directly to companies. I would sell them the cookbook for their own project. It was easy and fun money.

<comment><USER19> Hmmm. Very interesting. Mind if I ask a few questions?

Would you publicize the tutorials and cookbooks to the public (via a blog or project email list) before you sold the cookbooks to the companies?

How many of these did you do?

What was the level of effort for each of the cookbooks?

What did the company do with the cookbook? Put it up on their website?

<comment><USER18> >Would you publicize the tutorials and cookbooks to the public (via a blog or project email list) before you sold the cookbooks to the companies?

I did not (only did it a handful of times). Although it would be the smart thing to do. It would put you in an advantageous position to market the book to all interested parties.

>How many of these did you do?

About five in total. None of them were ultra-long and detailed cookbooks. They were short, but to the point. Less than a hundred pages.

>What was the level of effort for each of the cookbooks?

It was rather easy because cookbooks don't require a lot of explanation. They were just me showing people how to do things with whatever technology. If the cookbook was for an API I already had a formula. Start with authentication and work my way through the endpoints. Including code examples for every step in various programming languages (mostly Java, PHP, and Python). Super easy.

What did the company do with the cookbook? Put it up on their website?

They would either put it on their website or distribute it as a PDF. Though all these companies are now dead except one. And that last one did a complete rewrite of their stuff.

Overall, the whole thing was fun and easy money. I've been working with technical documentation since the 80s so it came kind of naturally. I stopped doing it because I wanted to code more. But I would not mind doing it again someday. I'm actually working on some books myself, but those are a scheduled for much later this year. :)

Best of luck!

</comment></comment></comment><comment><USER20> It is hard to find work, I've applied to technical writing jobs only to not hear back from them. Jobs that usually pay $100 per article you write for them on a blog.

I've tried self-publishing books, but they don't sell. I can't afford to market them. If you build up a lot of social network followers you can promote your books and blog links to them.

I had websites but they are down now because I couldn't afford to keep them up. It is really hard to get noticed and your writing and grammar has to be near perfect.

I am writing a book on technology trends, but as soon as I write a chapter it is obsolete. For example I was writing about Windows 8.1, Mac OSX 10.9 and others and new versions came out and changed how they worked. I was writing about the operating system wars between commercial companies and FOSS projects. It changes so fast that what I write is obsolete before I can get it ready to publish.

<comment><USER21> start with evergreen niches

</comment></comment><comment><USER22> Finding a tech geek who can put together a coherent sentence is hard, and there are always manuals to write, tutorials to create and deep blog posts to make -- many of which need the kind of in-depth understanding that only a tech geek can bring.

It doesn't always need a technical background -- a friend of mine found a job writing drug trial instructions even though she had no background in medicine or biology. But she was pretty exceptional, and very quick on the up-take so she probably absorbed a couple of years of medtech education in the first few months she was there.

So yes, you can make a career out of that. Apply for jobs and say "I want a role where I can program 50% of the time and write all your public-facing words the other 50% of your time". There are many employers who would pay a premium for that unique combination of skills which you have already demonstrated.

As for freelance authoring... I'm writing book #8 now. The first 6 are all deeply technical books on backup and managing IT ([http://www.ifost.org.au/books/](http://www.ifost.org.au/books/) ); the seventh was a collection of mathematics/computing/physics poetry ( [http://www.ifost.org.au/books/outlinks/medusa](http://www.ifost.org.au/books/outlinks/medusa) ).

These are rather small niches, but in most of these areas I'm one of the leading experts in the field -- usually because there's no-one else writing anything.

Based on what I'm getting from my work so far, I'd estimate that I would need to get to 50-100 books written before I could stop relying on other sources of income. I live in an expensive city and have a family, so you might be able to do slightly more easily than me. Also, if I wrote something less niche, I might have a bigger market (but probably face more competition).

In other words, I might be able to write full-time in 10-15 years' time if I keep up the current output. That is something I am aiming to do, but it's obviously not a short-term goal.

<comment><USER23> Small niches are almost the rule. With apologies to Emo Phillips, you may find that if you're preaching Northern Conservative Baptist, Great Lakes Region (Council of 1912) and your audience is Northern Conservative Baptist, Great Lakes Region (Council of 1879), you'll be metaphorically pushed off the bridge (you heretic).

</comment></comment><comment><USER24> I just self-published my first book ([http://survivejs.com/](http://survivejs.com/)). Writing books is way harder than people think. Writing isn't enough as you need to tackle other aspects, such as marketing and sales, as well. If you are not native, you have the extra challenge of learning to write.

In short, it's definitely possible to earn a living out of technical writing. Getting started is the hardest part. If you don't have a reputation, you will need to build one. Growing audience will take time, but it will pay dividends.

To keep this comment short, I'll just link to a series of articles (and presentation slides) I've written about my experiences. Hopefully these help! Here we go:

* [http://agile.fi/survivejs-writing-a-book-in-a-lean-way/](http://agile.fi/survivejs-writing-a-book-in-a-lean-way/)

* [http://survivejs.com/blog/succeed-at-technical-books/](http://survivejs.com/blog/succeed-at-technical-books/)

* [http://survivejs.com/blog/survivejs-interview/](http://survivejs.com/blog/survivejs-interview/)

* [https://survivejs.github.io/how-to-write-a-book-and-survivej...](https://survivejs.github.io/how-to-write-a-book-and-survivejs-it/) (Chrome works the best)

Best of luck!

</comment><comment><USER25> Not sure if you are strictly interested in branching out on your own, but if you are interested in writing at a startup, DigitalOcean has an amazing team of writers, and is currently hiring Technical Writers [https://www.digitalocean.com/company/careers#technical- write...](https://www.digitalocean.com/company/careers#technical-writer)

Disclaimer: I work at DO!

<comment><USER19> They didn't mention a salary range in the job posting. Us that something you can share?

</comment></comment><comment><USER26> I was a product architect in advertising for a brief period. About half the job involved writing all sorts of technical documentation, including functional specifications for developers, internal and user-facing API docs, and user guides for websites, apps, and installations we built. I loved this part of the work because of how it was a mix of both info design (you're practically a graphic designer in this respect) and rigorous research that usually involved consulting the designers and devs for knowledge, but sometimes external specialists as well.

To be a product architect you need to:

\- Express interest/expertise in learning (constantly) about existing and emerging products/systems/technologies

\- Be creative (product definition is _your_ job after all)

\- Understand all the moving parts of software development (what do the BE developers do, what do the UX designers do and when, etc)

\- Be business savvy

IMO the broad skill-set requirement and critical nature of the position makes it a hard job, but if you love technical writing and already know a bit about software/programming then you could easily fall in love with this line of work.

</comment><comment><USER27> A few folks have covered the full-time employment option.

I'll speak regarding the "sell your own stuff" option, which is fairly well- represented in my social circles.

Short version: yes, you can write part-time or full-time on technical topics as an independent technical writer. It requires operating a technical writing business, the key word in which is more often _business_ than _technical writing_.

There exists a tremendous demand in the world for industrial inputs. Technical writing is often an industrial input. If your book/e-book/video course/screencast/sample source/etc saves an engineering team weeks, it is worth tens of thousands of dollars. If it saves a single team member two days of reading Free Information On The Internet (TM) it handily sails over $50.

You're going to want to write things which are chosen to be about topics which are actually required by folks trying to get things shipped at their day jobs. This suggests aiming at a sweet spot of technologies which are past their up- and-coming-hotness phase and getting taken up rapidly, but are still not terribly understood. Think React, but perhaps not Rust. (Though one could certainly make a lot of money with Rust books.)

Writing independently involves, above all things, cultivating an audience and then selling into it. This almost invariably means _get people 's email addresses_ and sell primarily via email. The easiest way to get people's email addresses voluntarily is to write about related topics in a free and open fashion (on your own web presence to maximum extent possible) and include a call to action which gives people some valuable thing for free in return for their email and permission to email them ~2X a month with other things they'll enjoy. That "valuable thing" is often a short, concise guide on a topic (maybe a downloadable React cheatsheet or 10 quick anti-patterns) and the "things they'll enjoy" is simply blog posts about the topic delivered regularly until you launch.

This provides your future customers with demonstrative evidence that you know what you're talking about and that they'll enjoy your writing, which makes it vastly easier to sell them a book in the cozy little space you've created for yourself than putting the book with 250 other books on a shelf at Barnes and Noble.

You're typically going to sell your book in a multi-package format: $49 for the book proper, $99 for book-plus-something, $249 for book-plus-more- somethings. Often those options include multimedia -- screencasts of you walking through things or executable code samples are fairly common, as are recorded interviews with people relevant to your audience. I tend to think screencasts/code samples are higher value but interviews are high perceived value and _very_ easy to produce.

After you've launched, congratulations! Now you just keep doing what you're doing -- write more blog posts, send more emails, occasionally add new products to the mix using the same rough formula.

There exist quite a few people who make substantial money as self-published technical authors. Many come out to events like BaconBiz and/or Microconf. I'm not sure whose numbers I have permission to quote off the top of my head, but people post postmortems to HN on a fairly regular basis. Suffice it to say many did better than I did last year, or "competitive with mid-career software engineering jobs in the Bay Area" as a different (higher) bar.

Amy Hoy, Brennan Dunn, and Nathan Barry have copious blog posts about the practical life of an Internet-enabled author, virtually all of which extends directly to technical writing. (All of them write or have written in a self- published format on topics directly adjacent to technical writing. I'm recommending them less to tell you how to break down concepts about Python and more for advise on sales/marketing of information as a product.)

[Edit to add: I mentioned self-published several times above, but to reiterate: if you take on the risk of business execution, your upside goes way, way, way up from doing this. If you go through a publisher, you will be offered a $5k advance check and get totally shellacked on royalties. Midlist self-published authors work as authors; midlist published authors need day jobs.]

</comment><comment><USER28> We ([https://plaid.com](https://plaid.com)) - are currently looking for some contract or full-time technical writers. Shoot me an email (william [at] plaid.com) if you're interested!

</comment><comment><USER29> I've written/cowritten 3 books and a whole lot of articles over the past ~15 years on a freelance basis. Most of the good work came through an agency, StudioB, though I had pitched magazines and other places from time to time on my own.

My experience is that a lot of the good sources of ad-hoc work have dried up. That's not to say there is nothing now, but it's not the shooting-fish-in-a- barrel it was a few years ago. The demand has gone up and down over the years so I'm sure it'll be back.

As you've seen it's a lot of fun. I always treated it as a way to get other people to pay for me to learn the stuff I would normally have done in my spare time anyway. The money was good for the time invested, but I make far more just working a day job.

If I wanted to make an income from it, I'd be finding a company or two to attach myself to rather than piecework.

I've found that the industry is very focused on your portfolio, so continue to build upon that.

Also, be very nice to the editors you work with. They provide a lot of feedback to the people making the decisions, and no one likes a prima donna.

<comment><USER30> In general, I think it's fair to say that freelance writing has gotten tougher. A lot of the people who used to have full-time journalism gigs are now freelancing in various ways (or working for companies doing evangelism, editing, etc.) I'd also agree that the people I know who probably make the most money directly from writing get most of their business from a small group of clients.

However, for the vast majority of people I know who write computer-oriented books (including myself), it's essentially a branding exercise to support either their full-time employment or a consulting business of some sort.

</comment></comment><comment><USER31> I used to be part of a small tech writing firm. The bulk of our work was RFQs, tenders, req specs, user manuals, procedures manuals - all corporate wordsmithing. It paid pretty well, but I found it very tedious. And the politics and the PHB attacks were draining to say the least. Creative and Fun are two words that positively do not come to mind about that phase of my life.

<comment><USER32> What's a PHB attack?

<comment><USER33> PHB = Pointy Haired Boss

<comment><USER31> I thought all HN readers also read Dilbert :-)

</comment></comment></comment></comment><comment><USER34> My wife writes documentation full time for open source software (Red Hat), she was making enough to live off it.

</comment><comment><USER35> I'm a programmer, but I worked on products that had multiple full-time technical writers. Think of expensive commercial software that people use to make money. Video editing, engineering simulation, etc. Those companies are likely to have technical writers on staff.

</comment><comment><USER36> I am the Community Evangelist for Cocos2d-x. Technical writing is a big part of my job.

I really enjoy it. I am always looking for ways to improve what we write. One downside is that I don't get a lot of freedom to chose what I write. The topics are usually given to me.

</comment><comment><USER37> I wrote some chapters. Great fun, but not worth it in terms of money.

David Flanagan (java in a nutshell etc) couldn't do it any more, so it seems hard. He blogged about it somewhere...

As always, if you make your expenses low enough, maybe...

<comment><USER38> Ironically his blog([http://www.davidflanagan.com](http://www.davidflanagan.com)) says right now: "My site was hacked and was hosting malware. So its down until I can rebuild it."

</comment></comment><comment> a-saleh While a student I was writing for a Linux e-zine. Paid 20$/article, at least 700 words(?) a.f.a.i.k. Not a good source of income, but fun and easy to get into, I just emailed the editor that I am attending a conference, and would write few articles for them. Usually sites like these will tell you if they are looking for writers, and whether they are willing to pay for them :)

</comment><comment><USER39> We employ a "technical" writer of a different sense. The answer is yes.

To get started, find industry blogs or websites with an aggressive content strategy that are willing to pay. Build up that resume and keep moving up and making contacts within your field.

All the better if you can snazz up the content with good-looking HTML/CSS and images so that the editor has less work to do.

</comment><comment><USER40> At my last sfw eng job we had two full time writers mostly working on documentation and legacy system diagrams. These people were both contractors, but were employed full-time there before I started and after I left (4+ years.) Like the other poster they may have come from writing firms or just done individual contracting. Maybe contact some head hunters?

</comment><comment><USER41> Friend of mine does technical translations (English > German). That seems sufficiently niche to be financially viable.

</comment><comment><USER42> In silicon valley, an experienced tech writer doing contract jobs get at least $60/hour (self-employed).

</comment><comment><USER43> Not sure about a living, but I'm keen to hire a technical writer. aaron dot davis at exploration io

</comment><comment><USER44> Are there any non-native speaker who make a living as technical writers? I absolutely love writing about tech but I'm wondering if I'd put myself at a too big disadvantage to compete with writers whose first language is English.

<comment><USER6> I cant answer your question but I am also intersted in if this is possible.

From my point of view, since we are not native speakers we are still loosing some points.

As #bebraw mentioned below,it's worth to hire or at least cooperate with some native speaker or skikled translator. They can help you correct grammar and give you valuable insight how to in more native manner. Question might be a cost of this cooperation.

One point from my experience. I am publishing via established publisher who has own verified and skilled translators. So i can and they also require to write manuscript in my native language and they will translate it to final language in which books will bevpublished. Even my and 'destination' language are very close and we can understand each other without any issues. Reason of trnaslation is pure business. Second language has better revenue than mine.

</comment></comment><comment><USER45> I knew of a guy that did this. He had a website and asvertised that he could write your software documentation. It was nice having a techie do it because he understood complex software without needing to have everytbing spelled out for him.

</comment><comment><USER46> Great site. Visit us for exceptional assignment help by UK. [http://www.theassignmenthelp.co.uk](http://www.theassignmenthelp.co.uk)

</comment><comment><USER47> I'm actually looking for a FT technical writer (though you may not be interested since it is for PHP). Feel free to tweet at me (@savant) for more details.

</comment><comment><USER48> On the product/company employment side of things, technical writing is a rich field, with many people who excel and push the boundaries of making the previously inaccessible clear as day. There's a living to be had there as well if you strive for the latter; you can advance and prove your value in any company.

For an anecdote, as a product person, I would kill for a technical writer who works really hard to understand our product, our customers and personas, and keeps up with our roadmap and release process with on-the-ball documentation updates and copywriting. I see tons of opportunity there internally.

</comment><comment><USER49> I used to do some of this, and have a few books out.

It's an incredibly varied field, with a lot of different routes into it. The main markets are:

Print magazines

Online magazines/blogs/sites

Formal corporate technical writing

Mainstream tech publishing

DIY tech publishing

They all have different requirements, schedules, and working relationships.

The first two are probably the easiest to get into. If you have no experience, write a couple of polished sample pieces, and then start contacting editors with ideas that match the magazine/blog. Send in the samples when they ask for them. Mention the Python book too. If you can build a relationship and are good, you will get regular work.

Beware - _good_ writing is harder than it looks. You have to be accurate, concise, and entertaining as well as informative. You may also have to be fast. Payment varies from not much at all to - exceptionally - high four figures at the very top end for high profile journalism.

Formal tech writing is a very specific skill and it's hard to get a job in it without some previous experience and/or a basic qualification. I've never done it so I don't know how to get into it.

Mainstream publishing - list the publishers (there aren't many in tech), find the commissioning editors, and email them with a couple of suggestions for books. Mention the Python book. If you get interest you will probably get an advance - high four to very low five figures is usual for niche tech, maybe double that for consumer tech. Don't accept a project that offers less, because it won't be worth the time. Formatting and editing for print can be torturously specific, so it's not so fun from that POV.

DIY - Leanpub is a popular platform. So is Createspace. Marketing will kill you, so you'll have to do a lot of it. Putting up a marketing site is _not enough._ Email lists are your friend.

Generally writing doesn't pay nearly as well as coding. I did it for a while after burning out on writing too many projects in assembler in the late 80s and early 90s. It was great for a period, and I had a couple of years where I could have lived off royalty payments. The market now is much broader but much shallower - many more opportunities, but mostly they don't pay nearly as well.

Like other people, I've sometimes used mainstream pub as a way to get paid to learn. You have to pay that back with a book, but it's not a bad deal compared to _not_ getting paid to learn.

</comment><comment><USER50> I know several people who have full-time employment as technical writers. The downside is that they don't get to choose what to work on.

<comment><USER51> I regularly worked with technical writers (usually one specific guy) at my previous job. Definitely a thing.</comment></comment>


Research In Motion's new reality - <AUTHOR> http://www.theglobeandmail.com/globe-investor/research-in-motions-new-reality/article4382079/

<comment><USER2> Amateur hour is over, indeed.</comment>


Woman's infected jaw removed, 3D printed replacement implanted - <AUTHOR> http://boingboing.net/2012/02/04/womans-infected-jaw-removed.html

<comment><USER2> Please link to the referenced original article, not to BoingBoing.</comment>


Ask HN: Which algorithms do you use on a regular basis? - <AUTHOR>

Which algorithms do you use in your applications and how do you use them? <comment><USER2> Binary search- to find the file that causing the build to break .

Barrier pattern to deal with threads, although I mostly can let libraries deal with that.

Those are two I can remember using recently. I once worked on a very big graph search problem using A* and some other algorithms. That was fun.

</comment><comment><USER3> None.

I haven't implemented a single computer science-style algorithm since I graduated. Even the rare times I need one there are perfect (i.e. bug free/edge case free) pre-existing examples available.

This is likely true for the silent majority who are doing CRUD or web development.

</comment><comment><USER4> Dichotomy search is still by far my most used algorithm. Say you want to figure out why a regression happened between commit 1 and 100, please don't build all versions in sequence :-)

</comment><comment><USER5> An experimental algo similar to Word2Vec

Another experimental algo which compares rich vectors for similarity which is a variant of an uncentered Pearson Correlation

</comment><comment><USER6> Really this is more of a question of what domain you work in.

Since most algorithms apply to very specific data and needs of that data to do something.

<comment><AUTHOR> Yes, it's a deliberately open ended question to get a feel for which algos people are using for which problems.

</comment></comment><comment><USER7> google the error message</comment>


Clean Code concepts adapted for PHP - <AUTHOR> https://github.com/jupeter/clean-code-php <comment><USER3> A nice thing about this being open and editable is that the original author has obviously learnt quite a bit since their initial commit.

How to do for and foreach loops for example: [https://github.com/jupeter/clean-code- php/commit/08d73d655ef...](https://github.com/jupeter/clean-code- php/commit/08d73d655efcbab0ae789326fc016ffacc2fdaa2)

<comment><USER4> The best thing about open source is that even seasoned PHP Architects can learn useful language features such as for and for each loops.

<comment><USER5> I'm giving him the benefit of the doubt that this was a copy and paste error. With that said, as someone who has written physical paper programming books... this kind of thing would get me 10 x 1 star reviews on Amazon.

<comment><USER4> I think that you're being kind. Unfortunately these types are more the rule than the exception, and are most certainly not restricted to PHP. The dotnet world is full of failed developers who manage to talk themselves up.

For all the good that Uncle Bob and the like do they have become enablers for these snake oil architects.

<comment><USER6> I can't agree more about the dotnet "architects"

</comment></comment></comment></comment></comment><comment><USER7> This is an odd mix of common sense, random cosmetic advice, subjective bits and points that are plain wrong or contradictory to other points. For example:

        Bad:
            $ymdstr = $moment->format('y-m-d');

        Good:
            $currentDate = $moment->format('y-m-d');

Both are inferior to "$ymd".

        Use searchable names

            addExpireAt(DateGlobal::SECONDS_IN_A_DAY);

Who would ever need to search for _that_? You'd _search_ for "Expire". This doesn't preclude from using named constants, but it has nothing to do with search-ability per se.

        Don't use flags as function parameters

        Good:

            function createFile($name) { touch($name); }
            function createTempFile($name) { touch('./temp/'.$name); }

Now, this is how you create the good old copypasta.

What you need instead is a single universal function that does in fact accept a boatload of parameters, but that is never meant to be called directly. You then supplement it with a host of simpler one-liners that fill in most of the parameters with defaults and forward just the select few.

        Avoid negative conditionals

should be "Avoid double-negative conditionals".

        Avoid conditionals

this is just overly broad to the point of being completely pointless. What the example proposes is to use abstraction and inheritance instead. In some cases it helps, but it many it leads to needlessly obscure code that's impossible to read off the page.

        Use method chaining

        Good:

            $car = (new Car())
              ->setColor('pink')
              ->setMake('Ford')
              ->setModel('F-150')
              ->dump();

Except at some point you will need setModel() to fail for some arguments, e.g. setModel('Trabant'), and you will end up with some methods returning $this and some not. This is not going to be a "clean code" by any measure.

(edited for clarity a bit)

<comment><USER8> > Both are inferior to "$ymd".

I half-prefer `$currentDate` but then it doesn't really contain the essential "it's a YMD string" information. `$currentYMD` would be better than all of the above, IMO.

All of which assumes you religiously stick to "`...YMD` means a 'Y-M-D' formatted string" and "`...Date` means a date object", mind, otherwise you might as well pick random strings.

<comment><USER9> > _I half-prefer `$currentDate` but then it doesn 't really contain the > essential "it's a YMD string" information_

That information is not essential. If the date is later changed to also take hour/minute etc, it will still be currentDate but not YMD.

Unless you need to work with the structure of the date, and not just pass it along, currentDate is better.

<comment><USER8> > That information is not essential.

It is if you're passing it to something which expects to receive a YMD date.

Also a `$currentDate` which also contains the time is borderline acceptable if specifically called out in comments / docs but I would still ding it in a review.

<comment><USER9> > _It is if you 're passing it to something which expects to receive a YMD > date._

You don't want to expose what kind of date string that something depends upon in your variable name.

This way you you can change the internal implementation (what you pass and the function that received it) and not 1000 places where it's called.

<comment><USER8> > You don't want to expose what kind of date string that something depends > upon in your variable name.

Sure you do if you're a subscriber to Hungarian Notation. And if you're working in a loosely-typed language, it helps a lot to be able to track types through variable names.

<comment><USER9> > _Sure you do if you 're a subscriber to Hungarian Notation._

Hungarian notation encodes types (and/or scope etc) -- not formatting details. Where would it stop if the latter was the case?

> _And if you 're working in a loosely-typed language, it helps a lot to be > able to track types through variable names._

ymd is not a type though. str_currentDate is.

<comment><USER8> > Hungarian notation encodes types (and/or scope etc) -- not formatting > details

That entirely depends on your interpretation of Hungarian - there are many. Plus "YMD" is easily valid as a type - imagine creating a struct with { y int; m int; d int; } and using that instead.

> ymd is not a type though.

Only because you have decided it isn't in this instance. There is no obstacle to it being a type.

<comment><USER9> Also because types in PHP are specific things.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Interesting. I'm not sure if enterprise OO design patterns / clean code / solid / GoF / all golden OO etc.. is a help or hindrance in a typical build the world destroy the world per request model that is PHP. It might be in the spirit but if you're freshly creating all these objects and a big ass dependency graph from scratch per request for each request then you'd be better be sure the promise of PHP 7 VM being superbly improved holds true in your app's case. In other stacks you'd have a lot of this available for the next request at app level or cached somehow (already deserialized), in PHP you really are Creation Day 1 each hit. When you grow to something as complicated as an ecommerce frontend all nasty hacks come into play around the New World New Request model definitely undo a lot of benefits - see Magento as a good example (the cache system - essentially concat / rewriting PHP files) - <USER2> have even suggested let's go back to pure SQL and echo..

I initially thought this was going to be the use something else meme - [http://devhumor.com/content/uploads/images/December2016/php-...](http://devhumor.com/content/uploads/images/December2016/php- best-practices.jpg)

<comment><USER11> > if you're freshly creating all these objects and a big ass dependency graph > from scratch per request for each request

That's not how modern PHP works.

<comment><USER12> How's it work then?

<comment><USER11> [https://community.1and1.com/php-7/](https://community.1and1.com/php-7/)

That article isn't great, but okay enough for this discussion.

There's a great deal of interpreter level caching + object caching (in more advanced system) that allows modern PHP to reap a lot of the benefits of the "everything fresh every request" model while also being faster than pretty much anything but Lua and Perl.

</comment></comment></comment></comment><comment><USER13> Top thread: People dickering over variable naming in PHP, based on a post about an open-source translation of an Uncle Bob book.

It's like HackerNews BINGO.

</comment><comment><USER14> I'd like to recommend "Taking PHP Seriously" by Keith Adams, a lecture by an engineer at Facebook on the alleged good points of using PHP.

</comment><comment> brian-armstrong I can't be the only one expecting it to say "just don't", right?

<comment><USER15> Because of PHP or Uncle Bob?

<comment><USER16> Is using PHP bad? I've seen speed comparisons and it is slow. I feel bad so far it's the only back end language I know unless counting JavaScript but don't currently use Node in development.

I just keep seeing it being labeled bad a lot. I guess it depends if you can avoid it right? The current company that I work for (contract hourly) is a LEMP stack built on WordPress. Ideally I could strip WordPress out and get to the core purpose of the web application but it's not at that stage yet. I like the idea of separated services but

Edit: I saw some infographic saying PHP was too easy to use/get into and resulted in many bad coders who were using it. It's also old, whenever I'm on the manual site and see the comments dating back to 10 years haha. What about machine code running on computers.

<comment><USER17> After being forced to use PHP, I've come to respect it a lot more than when I'd only looked at it. There is nothing ground breaking in bog-standard imperative control flow, a default data structure of association lists whose keys are numbers or strings, and libraries to parse every format under the sun into that structure and generate it again. On the other hand, that combination is very efficient for the many non-web programmers who occasionally need to do something with a web server.

<comment><USER16> Kind of funny going the other approach, web to non-hardware. Working with Raspberry Pi to hookup an LCD panel and get the local IP on shared network. Man that was challenging, not the python/code but the wiring... Then just include libraries and add to cron. It's cool interfacing sensors/physical with web.

</comment></comment></comment></comment></comment><comment><USER18> _writes a book on php best practices_

 _all the pages are blank_</comment>


Dean Allen takes the piss out of usability people like Jakob Nielsen - <AUTHOR> http://www.textism.com/article/381/

<comment><USER2> Well, at least I can understand what Jakob Nielsen writes.</comment>


Show HN: Html templating using string tags - <AUTHOR> https://github.com/dosyago-coder-0/dosyhil/blob/master/def.js <comment><AUTHOR> For example see [https://github.com/dosyago- coder-0/dosyhil/blob/master/test....](https://github.com/dosyago- coder-0/dosyhil/blob/master/test.js)

And more diverse at [https://github.com/dosyago-corp/pa-os- server/blob/master/vie...](https://github.com/dosyago-corp/pa-os- server/blob/master/views.js)</comment>