PG&E Says Its Equipment Was Probable 'Ignition Point' of Camp Fire - <AUTHOR> https://www.wsj.com/articles/pg-e-records-10-5-billion-charge-related-to-camp-fire-11551363969 <comment><USER3> From my perspective as a power utility engineer, this turns on whether PG&E made reasonable and diligent effort to maintain and operate its system in a way that mitigated potential fire hazards. Quoting from Ars Technica's coverage of this:

[https://arstechnica.com/information- technology/2019/02/pge-i...](https://arstechnica.com/information- technology/2019/02/pge-its-likely-our-equipment-was-ignition-point-for-deadly- camp-fire/)

>The utility goes on to state that its Caribou-Palermo 115 kilovolt (kV) transmission line deenergized approximately 15 minutes before a PG&E employee observed a fire in the vicinity of a tower on the line. In addition, "a suspension insulator supporting a transposition jumper had separated from an arm" on the tower in question."

Mechanical failure of a suspension insulator in the absence of something physically falling on it is a very rare occurrence, and would only plausibly occur if the insulator is well outside its normal service life. To me this points to inadequate maintenance. We're talking about equipment that already has a 30-year service life and a miniscule failure rate. Obviously, there will be more detailed investigation to come. But PG&E doesn't look good here, and unless they can show they were inspecting and maintaining that line in accordance with normal industry practices, they are going to get nailed for this.

<comment><USER4> >Mechanical failure of a suspension insulator in the absence of something physically falling on it is a very rare occurrence, and would only plausibly occur if the insulator is well outside its normal service life.

What about one or more bullets being shot at it, as numerous locals have stated happened?

<comment><USER3> That will certainly cause insulator failure. And if PG&E can show that's what happened it would certainly help their case that the ignition was not preventable (by the utility).

<comment><USER4> will it really help their case, though? I thought the whole issue here is that even if not negligent, if a California utility's infrastructure is a cause (not THE cause) and even if not negligent, the utility can and will be held liable for the damages.

One random source (Thanks Duckduckgo!): [https://www.utilitydive.com/news/california-approves-bill- to...](https://www.utilitydive.com/news/california-approves-bill-to-limit- utility-liability-for-wildfires-but-not/531483/)

> California courts use a "strict liability" interpretation of the doctrine > that holds utilities accountable for wildfires caused by their equipment, > even if a company is not found negligent.

<comment><USER3> Good point. I was only looking at it from an engineering point of view, not legal. Although the strict liability doctrine is common for environmental offenses because it makes prosecution a lot easier * , it might not make sense to bankrupt PG&E for something they couldn't have actually prevented while still fulfilling their service mandate.

* Imagine a company spills 50,000 litres of oil into a river. You don't have to prove what happened or anyone's motivation for doing it, just that the oil was in the river and it came from their facility.

</comment></comment></comment></comment></comment><comment><USER5> I would say PG&E's biggest fault is their maintenance and inspection practices being subpar. Regular line and pole inspections would work wonders to prevent these types of things.

It's hard for PG&E to argue against this when they are willing to spend millions on lobbyists after the fire knowing full well the event may mean regulations that closely resemble what the natural gas utilities have to follow.

Deferred maintenance is typical in the utility world. You look at the item being maintained and the criticality and safety of it and determine if it can be deferred. In something like a transmission line, maintenance should not be deferred as the knock on effects are far greater than say a small transformer on a city block.

In the utility world there are a lot of software options to help you manage your assets and do preventative maintenance of those assets. I am sure a deeper investigation will look to see if those tools were being used and if they were properly being audited.

<comment><USER6> I'm not a California resident, so I'm actually curious and definitely not trying to have an opinion:

I've heard from co-workers in California that PG&E has routinely been regulated to keep prices at a certain level, and this has hampered their ability to perform proper maintenance. Is this a remotely fair assessment, or grossly incorrect?

<comment><USER7> PG&E's retail rates have been regulated by the state for a long, long time, since they provide a utility which is vital to the public interest and past deregulatory efforts have immediately resulted in market manipulation and energy crises [1].

However, this doesn't prevent PG&E from performing the appropriate maintenance on their equipment. That fault lies with the policies of upper management. CPUC is well aware of PG&E's obligations to maintain their equipment and regularly audits them and has made hay in the past about PG&E's reactive approach to maintenance [2].

The people who bring up the regulation of retail prices tend to be the ones who have an ideological love for deregulating everything. That's the wrong hammer for this particular screw and hasn't worked out so well in the past.

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

[2]: [https://www.sfchronicle.com/business/article/PG-E-cited- for-...](https://www.sfchronicle.com/business/article/PG-E-cited-for-late- maintenance-work-more-often-12303697.php)

<comment><USER8> Insufficient budgets force managers to prioritize urgent maintenance at the expense of proactive maintenance. I'm confused, if they can't raise their rates, and they don't have enough money to do the proactive maintenance, how do we reach a solution?

FWLIW, I definitely haven't dug into their books, so maybe they're cutting fat checks to execs in lieu of this stuff.

<comment><USER7> Why do you think they can't raise their rates?

They just have to justify their rate increases. All PG&E had to do, years ago, was tell the CPUC, "we've identified a massive maintenance backlog and we need to raise our residential rates __% to clear it."

You can see this in action now, at [https://www.pge.com/en_US/about- pge/company-information/regu...](https://www.pge.com/en_US/about-pge/company- information/regulation/general-rate-case/grc.page), where PG&E has filed a new publicly-available 2020-2022 rate increase request:

> _This GRC proposal will help bolster wildfire prevention, risk monitoring > and emergency response. It will also add new and enhanced safety measures, > increase vegetation management, and harden our electric system to increase > resilience and help further reduce wildfire risk._

> _Every three years, PG &E submits the GRC, a proposal for funding its core > gas and electric operations. The CPUC conducts an open and transparent > review of PG&E's proposal._

The CPUC, in turn, has to deal with angry residents and lobbyists from multiple industries.

You can find reporting from a rate substantial rate increase four years ago, at [https://abcnews.go.com/US/story?id=93303&page=1](https://abcnews.go.com/US/story?id=93303&page=1)

I think the quote from PG&E spokesman Keith Stephens in the SF Chronicle article I linked two comments up pretty well sums up where fault lies here:

"As we moved from more of a 'monitor only and fix when we can' process, we were much more focused on getting work done,"

PG&E's maintenance strategy for years -- set by management, not by a lack of funds or prohibition against rate increases -- was, "wait until it becomes a problem." CPUC regulators started investigating it around 2008, found a _huuuuuuuge_ maintenance backlog, and then PG&E said, "oh, yeah, our new strategy now is to try to catch up on some of this stuff."

<comment><USER8> It seems like an obviously poor decision to just be lazy, when they could theoretically raise rates to cover these maintenance costs. What information are we missing that could make sense of the decision?

I know that rate hikes are heavily protested by citizens, so maybe there's some sort of political infeasibility? That would certainly be a mark against a gov't run critical service -- maybe it's really hard (near impossible) to raise rates to cover required maintenance.

</comment></comment></comment></comment></comment></comment><comment><USER9> When the conditions are right its extremely easy for a wildfire to start. Lightning strikes, a glass bottle in the sun, a camp fire, there's so many different ways it could get started. Does it really matter that it happened to be PG&E's equipment in this case? If not them, it would have happened anyway from another cause. It seems unfair to hold them liable, or at least, the extremely hostile tone in these comments seems a bit overboard.

In my early teens my family moved to rural northern Idaho and my dad decided one day to burn some of the brush on our land to clean it up. Well, being from a much more suburban setting we didn't know that that's a real no-no that time of year. The fire got out of control and started burning into the trees and my mom, brothers, and I frantically fought it with hoes and buckets of water while dad tried to plow over it with the bulldozer (we didn't have a phone and this was an hour drive from a fire department). Anyway, we finally got it put out before it got into the national forest bordering our property on the east. Very very scary.

A week later there was a lightning strike fire in the national forest which ended up burning several hundred acres.

<comment><USER7> > _Does it really matter that it happened to be PG &E's equipment in this > case? If not them, it would have happened anyway from another cause. It > seems unfair to hold them liable..._

Okay, so an arsonist sets off a massive wildfire. Should they not be found at fault? Surely the fire would've barely burned at all if it weren't for the conditions.

Nobody disputes that conditions were a contributing factor. On the contrary, that's why it was more important than usual to prevent sources of ignition as much as possible. It wasn't a lightning strike, it wasn't a hot muffler, it wasn't arson, it was PG&E's equipment that ignited the fire that destroyed an entire community, and that equipment failure was the direct result of their chronic poor maintenance.

I think the comments here are quite civilized all things considered. PG&E has a long history of poor equipment maintenance and has been the proximate cause for numerous environmental disasters. They are responsible for the deaths of over a hundred people over the last few years, the endangerment of thousands more, the displacement of tens of thousands more, and the destruction of multiple communities.

No action currently being taken against them is inappropriate under the circumstances.

<comment><USER9> The fire could just as easily have been started by anyone. Heck, I'm pretty sure you can find similar lapses in maintenance at pretty much any company in California or the country. Any one of them could have caused the fire. Or it could just as easily started from something totally different.

I just feel like the punishment should fit the crime (failing to maintain equipment) and should be fair (apply to all companies who fail to maintain their equipment). Turning them into a scapegoat just because we're out for blood doesn't sit right with me.

Arson implies mal-intent and is a totally different thing. Not understanding the connection?

</comment></comment></comment><comment><USER10> Based on recent reports, PG&E filed for, and received money for, maintenance of this exact location, in the 2010 time frame, then submitted in writing a justification to postpone those exact repairs in 2013, then again at least once after that.. A speculation is, that if specific uses of those funds for other purposes are found, it could be the basis of criminal charges against individuals in the company.

</comment><comment><USER11> There are thousands of buildings in NYC that need fire inspections, but only a few inspectors to handle them. How to they prioritize the buildings that need the inspections most? The answer could have prevented this tragic event for PG&E.

<comment><USER12> Require buildings to pay for a fire inspection. Use that money to hire more fire inspectors.

These solutions are not difficult. Lives are on the line.

There was a big fire on my street last night in New York. The city has a ton of old dumpy buildings.

<comment><USER13> Aren't most building owners already paying property/city taxes of some form?

<comment><USER14> This is to say, either the tax is not high enough for services (note that fire, sprinkler inspection, etc are typically additional fees) or the property taxes are not properly earmarked for the direct costs that they entail.

It's also easy to suggest that these costs and inspections could be "free market" attributed to the insurer.

</comment></comment></comment></comment><comment><USER15> Could it be that no company can bring power to Californians if they were to be held liable for such events? One fire can cost you $10 Billion and to repair /replace /maintain correctly the lines they probably need 100 billion. I guess they could bring power, but at 50 cent a KWh...

<comment><USER16> Hence, it should be a publicly owned utility like water.

<comment><USER17> The roads of San Diego are full of potholes. Leaking water lines are causing sinkholes. School fountains had high level of lead for years until a dog wouldn't drink water put into a bowl and an interested teacher started looking into why. Government has too many funding priorities not to mention Government contracts do not come in under time and budget.

<comment><USER18> Well yes, it turns out you can't burden a local government with something unless you increase taxes sufficiently to pay for that thing.

<comment><USER19> Even if there's still sufficient taxes government organizations can behave badly. There's no incentive to fear the government making you accountable if you are also the government so you can be sure that a) is highly unlikely to happen and b) the taxpayers are the ones ultimatly on the hook.

Making your utility state run risks the the same "not our money" and "what are they gonna do, fire the whole department" issues that cause police department to hire trigger-happy jerks who kill people and leave the town with the bill.

<comment><USER20> > There's no incentive to fear the government making you accountable if you > are also the government

True for the US federal government, less true for US state governments, and pretty much not at all true for governments subordinate to US state governments, for reasons which should be intuitively obvious to the most casual observer.

> Making your utility state run risks the the same "not our money" and "what > are they gonna do, fire the whole department" issues that cause police > department to hire trigger-happy jerks who kill people and leave the town > with the bill.

I think you have misattributed the cause; the cause of that (where it is endemic rather than an error that the department really is trying to avoid but sometimes failing) is that the voting citizens actually want trigger-happy jerks in the police department (because they largely see the police department as a weapon aimed at oeople they dislike) and the bills that they get stuck with as a result are insufficient to dissuade them from that preference (this is helped because local taxes that pay for those bills tend to be weighted away from the local voting population, whether by being regressive—leveraging the income/political participation correlation—or by sweeping local-activity by non-locsl residents into its base.)

But even privileged political elites probably want their electric utility to function VB reliably and not burn down wide swathes of the state.

<comment><USER19> >True for the US federal government, less true for US state governments,

Disagree fully, especially in one party states. In the federal government if you department is perpetually crap there's always a risk some senator will make cleaning you up their shtick. In state government unacceptable performance seems to be tolerated and allowed to continue indefinitely.

<comment><USER20> > Disagree fully, especially in one party states.

The risk for state governments (particularly after the passage of—or, more precisely, after the courts started giving effect to the due process clause of—the 14th Amendment, though this wasn't entirely absent previously) is that they will be held accountable by the _federal_ government.

> In the federal government if you department is perpetually crap there's > always a risk some senator will make cleaning you up their shtick.

That's also true in state government.

> In state government unacceptable performance seems to be tolerated and > allowed to continue indefinitely.

I think that what you are really saying is that there are states whw ere the participating electorate has different standards for what is acceptable, or at least important, than you do, no different from a commercial market where the mass of actively participating customers don't share your priorities.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Longed them in January- stock's up 200% since. They are in the too big to fail category.

</comment><comment><USER22> [https://outline.com/gnTpbH](https://outline.com/gnTpbH)

</comment><comment> glass-droid Is this the fault of PG&E or is this the reality of climate change - <USER2> that were once safe are now fire hazards in an increasingly dry climate.

<comment><USER23> You can actually blame the "Smokey the Bear" policies of the last century instead of climate change. The complete prevention of forest fires have lead to heavy fuel loads on the forest floor. Before this, fires were lower in intensity and actually cleaned out ll the debris.

Also, many species of trees require fire to split open their cones (e.g., Lodge Pole Pines) and other species of plants need fire for germination (e.g. Manzanita). Ponderosa Pines have thick bark for the purpose of surviving fires -- now the fires are too hot. Look at forest pictures in Central Oregon from 120 years ago -- you could drive a car thru since there was not a lot of debris on the forest floor. Fires used to be a good thing. Native Americans would even manage fires with controlled burns.

Now all fires are completely destructive!

Source: Dad was a research scientist for US Forest Service.

<comment><USER24> Where I've lived (several places in the west), this is well understood and controlled burns/fuel reduction incentives have been long standing policies. I can't say that's the case everywhere, but it definitely is everywhere I've lived.

My family used to go and collect wood from such an area: the policy was to pull all the downed trees and scrub into piles. The forest service allowed people to take wood for free from these piles. What was left was burned, after people took the good logs and it dried out. I still visit this place regularly, and the policy is still the same.

It's become harder to do controlled burns, because in drought conditions, the season where it is safe to do so has become short to non-existent.

I think this argument is popular because it is a way to blame "liberal" environmental policy for the fires.

<comment><USER25> Why should the federal government be holding on to so much forestland? Private owners would be greatly incentivized to keep the forest productive.

<comment><USER26> Uh, because it's owned by all of us, and cutting it down to make toilet paper is a fucking shame and a waste.

</comment></comment></comment></comment></comment><comment><USER16> How many more utter disasters need to happen before the State of California starts garnishing corporate profits from PG&E for punishment? Why is no one on trial?

Let's just turn this into a completely publicly owned utility, focus on modernization, and be done with it.

Remember the neighborhood that quite literally exploded?

<comment><USER19> >Let's just turn this into a completely publicly owned utility,

That's a bad idea if you want accountability in the event of a disaster because then the taxpayers are still ultimately on the hook. Making it a government organization all but guarantees government bailout in the event of a disaster. Better to just make PG&E pay (if it does turn out to be their fault) and then roll with whatever happens.</comment></comment>


Show HN: Mole – an open source tool to easily create ssh tunnels - <AUTHOR> https://davrodpin.github.io/mole/ <comment><USER2> I'm not sure if I missed something? Normally I use -L syntax for tunneling (-L local_port:remote_addr:remote_port). Does this tool do more?

<comment><USER3> I don't think i've missed anything, it does the same thing as ssh -L with slightly different syntax.

It's the same with mosh. Normally i use tmux on the destination host, and i simply cannot see any reason to use mosh over ssh/tmux.

<comment><USER4> > i simply cannot see any reason to use mosh over ssh/tmux.

How about automatic session resumption and predictive character insertion to improve typing when under latency?

<comment><USER3> session resumption:

        tmux a

As for predictive character insertion, when i'm working in a shell, especially with high latency, i prefer my commands to be as i type them, not something some algorithm "guessed" i was going to type.

<comment><USER5> That's not what mosh is, it doesn't predict what you're going to type. It however proactively renders the characters you type before it receives confirmation from the tty on the other end.

In other words, imagine typing ssh somebox.typo.com and waiting 1 second before the text renders and discovering the typo, then pressing backspace, waiting a while for the backspaces to render, then going through all of this again. With mosh you'll be able to instantly see what you typed and fix it. On high latency connections it makes a huge difference in quality of life.

<comment><USER6> _> It however proactively renders the characters you type before it receives confirmation from the tty on the other end._

Basically for those with experience of text terminals genrally: local echo.

<comment><USER3> I worked as a sysadm at at "large" (local scale) UNIX SysV installation back in the early 90s.

Everything there connected via serial ports, remote offices got multiplexed over a 9600 baud connection. Back then we had local echo for the sometimes slow link, i.e. printing a spreadsheet converted to 3Mb PostScript, and still only 9600 baud in total.

So i know what local echo is. It has nothing to do with prediction :)

I'm still not convinced about mosh, but it sounds like it really does help a lot of people, so who am i to judge. I guess i'm privileged since i don't usually experience latency. We have about 95% 4G coverage in this country, coupled with fiber connections.

The last time i experienced any noticeable latency was when editing files on a clients SCO OpenServer across The Atlantic Ocean over a 1200 baud connection.

<comment><USER7> For me, the advantage of mosh is that it handles network changes seamlessly.

<comment><USER6> I've taken to using OpenVPN to home when mobile, except for the absolute basics (I don't have it running on my phone 24/7), which deals with that fine too.

As well as that and protecting unencrypted traffic on public WiFi, I get my ad blocker & other protection and credit card payments are smoother as the payment processors think I am at home not coming from some random address so doesn't ask for extra security details as often as they otherwise would.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is cool, but it's not very clear to me what is the benefit of using this over autossh.

autossh detects and restarts broken tunnels and uses aliases and tidy config files: [https://www.everythingcli.org/ssh-tunnelling-for-fun-and- pro...](https://www.everythingcli.org/ssh-tunnelling-for-fun-and-profit- autossh/)

<comment><USER9> Just syntax, I think. autossh was kind of a pain for me to set up and debug.

</comment></comment><comment><USER10> Here are the example commands, with the SSH equivalent. There's a small syntax difference, but otherwise I don't think this tool adds much.

      $ mole -local 127.0.0.1:3306 -remote 127.0.0.1:3306 -server firstname.lastname@example.com
      $ ssh -L3306:127.0.0.1:3306 firstname.lastname@example.com

      $ mole -v -local 127.0.0.1:8080 -remote 172.17.0.100:80 -server email@example.com:22 -key ~/.ssh/id_rsa
      $ ssh -v -L8080:172.17.0.100:80 -p 22 -I ~/.ssh/id_rsa firstname.lastname@example.com

      $ mole -v -local 127.0.0.1:8080 -remote 172.17.0.100:80 -server example1
      $ ssh -v -L8080:172.17.0.100:80 example1

      $ mole -remote 172.17.0.100:80 -server example1
      $ ssh -L2937:172.17.0.100:80 example1
      NB Random port is predefined to be 2937, see https://xkcd.com/221/. Or use $RANDOM.

      $ mole -v -local :8080 -remote 172.17.0.100:80 -server example1
      $ ssh -L8080:172.17.0.100:80 example1
      NB difference with SSH, -L:8080... would bind the local port to 0.0.0.0:8080.

      $ mole -v -local 127.0.0.1:8080 -remote :80 -server example1
      $ ssh -L8080:127.0.0.1:80 example1

      $ mole -alias example1 -v -local :8443 -remote :443 -server email@example.com
      Add to SSH config: "LocalForward 8443 localhost:443"

I don't know if Mole supports it, but SSH also has the option to forward a remote port through the local machine.

      home $ ssh -R8888:example.net:80 work.example.com
      ...
      work $ curl -H "Host: example.net" localhost:8888

But the most useful of all is perhaps:

      work $ ssh -D3128 personal-vm-or-raspberry-pi-whatever.example.net

Then configure Firefox to use a SOCKS proxy on localhost:3128. You now bypass any corporate HTTP proxy.

<comment><USER11> mole also doesn't seem to support DynamicForward for creating SOCKS proxies. Mind you, I'm not sure how it could improve on native ssh for concision:

        ssh -D *:1080 work

Combined with a .pac file that proxies my work domain(s) through the tunnel, it's all the forwarding I ever need.

ETA: largely redundant comment now the parent now also mentions this option. :)

<comment><USER10> I think it's worth drawing attention to it. It's a very useful feature; just don't tell the network administrators.

NB including

      *:

does mean _anyone_ on your local network (assuming a firewall at the gateway) can use your computer to proxy to work. That's great if you're on a private LAN and want to look at a work site on your phone, but not great at a coffee shop.

</comment></comment></comment><comment><USER12> If you like this, but think that SSH tunnels are too complicated, I must suggest that you try [https://www.zerotier.com/](https://www.zerotier.com/).

ZeroTier solves all your networking needs and much more, the thing is pure power.

</comment><comment><USER13> For web services, an alternative that doesn't require your own server is localtunnel:

[https://localtunnel.github.io/www/](https://localtunnel.github.io/www/)

</comment><comment><USER14> because it is very difficult to type this instead?

ssh -L 21234:localhost:1234 email@example.com

I will confess that I googled it numerous times until one day I realized how silly and obvious it was and now it's burned into my brain...

</comment><comment><USER15> What do you guys think of that cross-distro, Linux installation method?

curl -L [https://..](https://..). | tar xz -C /usr/local/bin

<comment><USER16> This command actually fails if /usr/local/bin doesn't exist. He could simplify it by releasing the binary alone and running `curl -L --create-dirs -o /usr/local/bin/mole [https://...`](https://...`), but my guess is uncompressed it's huge. (edit: _possible_ that the GitHub server would support `curl --compressed ...`, allowing the HTTP connection to compress it in transit)

<comment><AUTHOR> That is already supported:

curl -L [https://github.com/davrodpin/mole/releases/download/v0.2.0/m...](https://github.com/davrodpin/mole/releases/download/v0.2.0/mole0.2.0.linux- amd64.tar.gz) | tar xz -C /usr/local/bin

And there are plans to implement a script to improve this process: [https://github.com/davrodpin/mole/issues/19](https://github.com/davrodpin/mole/issues/19)

</comment></comment></comment><comment><USER17> I have a number of connections I need to maintain - e.g. have reopened automatically - and I've been using Secure Pipes on Mac for a couple months now, very happy with it.

[https://www.opoet.com/pyro/](https://www.opoet.com/pyro/)

</comment><comment><USER18> For many purposes, users may want to consider spiped as a simpler and more reliable alternative.

</comment><comment><USER9> This is maybe a nicer syntax around autossh, which just uses the ssh. And the functionality is ssh's '-R' flag.

</comment><comment><USER19> I guess we won't need IPv6 that much.

</comment><comment><USER20> What about reverse & dynamic ssh tunnels? (ssh -R or ssh -D instead of ssh -L)

</comment><comment><USER21> So is ~C !!

<comment><USER22> Sadly, the tilde commands don't work at all if you're using ControlMaster.

</comment></comment><comment><USER23> Very nice. I'd consider pinging the guys of OpenBSD to suggest upstreaming this interesting, user friendly, syntax into SSH itself.

<comment><USER3> is the ssh syntax for doing the same thing really that bad ?

I find it easy to remember, it's just one flag (-L) with local_port:remote_ip:remote_port

to forward local port 3306 to mysqlhost:3306:

        ssh -L 3306:mysqlhost:3306

The strength of using ssh is that you can forward multiple ports with the same connection. i.e.

        ssh -L 3306:mysqlhost:3306 -L 8080:webhost:80

<comment><USER23> If it's easy for you to remember ssh syntax, then for you ssh is the better tool. As far as I'm concerned, I never remember the different syntax between -L, -R, -D, etc. Always have to read a doc somewhere.

In the same topic, do you remember the syntax of tar? I don't. [https://www.xkcd.com/1168/](https://www.xkcd.com/1168/)

<comment><USER3> I use tar daily, so yes, i remember the syntax :)

copy files from a to b:

        (cd /src && tar cf - .) | (cd /dest && tar xf -)

operations are easy :(c)reate, e(x)tract, (t)est options the same: (f)ile, (v)erbose, g(z)ip compression. the only illogical ones is bzip2 compression and xz compression with -j and -J

I think i can remember cpio syntax as well, though i haven't used that i a decade, but did use it quite often in my old sysadm job.

copy files from a to b by piping :

        find /somewhere -print | cpio -o | (cd /destination && cpio -i)

or simply for all you kids:

        find /somewhere -print | cpio -p /destination

<comment><USER23> Well, it turns out we have different expectations regarding those tools.

My brain chooses to store other things in life.

<comment><USER24> This seems to imply that he is not 'storing other things in life' because he's able to remember that L=local forwarding R=remote forwarding and D=socks proxy

<comment><USER25> The irony being that remembering that is almost guaranteedly easier than acquiring and installing mole on every machine where you may need to Port forward.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> This is a fantastic tool! I've always had to reference a markdown file with SSH tunnel syntax whenever I wanted to create one. I can see myself using this quite a bit in the future.

<comment><USER27> Is the syntax difference really that interesting? It's

        mole -local 127.0.0.1:3306 -remote 127.0.0.1:3306 -server email@example.com

vs

        ssh -L 3306:127.0.0.1:3306 email@example.com

With the extra installation of mole on top.

<comment><USER28> This whole thread makes me think of Alan Cooper, and how he bashes developers in The Inmates Are Running the Asylum basically as people out of touch with the rest of humanity in that we got used to rudimentary tools and our love for them and maybe the time and pain spent learning them makes us victim blame users, not that your comment is doing that, but maybe we do that unconsciously. I was going to comment on the whole persona thing he started but it's to early in the morning for such things</comment></comment></comment>


UTorrent 2.0 To Elimininate The Need For ISP Throttling - <AUTHOR> http://torrentfreak.com/utorrent-2-0-to-elimininate-the-need-for-isp-throttling-091031/ <comment><USER2> The article is a little light on technical facts. The previous Bittorrent protocol used TCPs congestion control. Any reason to believe that their UDP+µTP replacement will outperform it?

Edit: found the draft RFC: <http://www.bittorrent.org/beps/bep_0029.html>. Looks like the congestion control is window- and latency-based.

| "The window size in the socket structure specifies the number of bytes we may have in flight (not acked) in total, on the connection."

| "Each socket aims to never see more than 100 ms delay on the send link. If it does, it will throttle back."

<comment><USER3> It's very unlikely. I've seen a bit of the research in this area and all this stuff has been tried before with marginal success. Van Jacobson did a pretty good job.

<comment><USER4> The point of uTP is not to outperform TCP but to _underperform_ it, using the network's idle bandwidth but not competing with regular TCP.

</comment></comment></comment><comment><USER4> uTP spec: <http://www.bittorrent.org/beps/bep_0029.html>

Previous uTP discussion: <http://news.ycombinator.com/item?id=877510>

A more general proposal for controlling Internet congestion: [http://tools.ietf.org/html/draft-moncaster-congestion- exposu...](http://tools.ietf.org/html/draft-moncaster-congestion-exposure- problem-01.html)

</comment><comment><USER5> I like the way they are spinning this. The new protocol, over UDP, is more difficult for ISPs to throttle without harming everything else on UDP (VoIP, games, streaming video, etc) that people regularly use (AFAIK.)

That being said, they really did create the new protocol to have more elegant throttling. Morris: "It's not QoS, but rather a congestion management mechanism implemented at the end-user's layer 7 [Application]. This will stop uTP from eating up traffic bandwidth reserved for latency sensitive apps like VoIP and gaming. What's more, the congestion management mechanism isn't something we implemented as an afterthought – it's the whole point of uTP." from [http://torrentfreak.com/utorrent-2-0-to-elimininate-the- need...](http://torrentfreak.com/utorrent-2-0-to-elimininate-the-need-for-isp- throttling-091031/)

Looking forward to it, even though Comcast doesn't seem throttle my BitTorrent traffic at my location (North Bay area.)

<comment><USER4> Who's spinning it that way? I didn't see that in the article. Also, DPI or traffic analysis can easily distinguish different UDP-based protocols.

<comment><USER5> Is that really feasible for ISPs? I know you can traffic shape anything, but would they bother? I remember there was a pretty big ruckus when this was first announced, since many of the uT guys were talking about how it would be much harder to throttle.

<comment><USER6> Obviously you don't live in Canada.

Over here, all the major ISPs do DPI to throttle torrents and about 6 months back the only way to not be throttled was to go with a smaller DSL ISP that leased lines from Bell. Then, one day, Bell turned around and started doing DPI on wholesale client lines and throttling their torrent traffic too. Some people raised a stink about it and it got to the CRTC for a decision and, in typical CRTC fashion, they issued a non-decision that essentially said DPI should only be used when necessary. Nothing changed. It's now impossible* to get an internet line that doesn't throttle torrents in most of Canada.

* Not impossible to run torrents without being throttled though, you just have to set Azureus to its "RC5 encryption" settings and Bell won't be able to analyze your packets though this will break any private trackers that don't use https (most do).

</comment></comment></comment></comment><comment><USER7> Can an ISP fake a network congestion that uTorrent detects and automatically slows itself? That would be the next logical evolutionary step for people hell-bent on stopping filesharing. That's ISPs, RIAA, etc...

<comment><USER8> ISP's don't have any vested interest in stopping filesharing. In fact I'm sure many of them would love to have it since its a great reason to use their service.

<comment><USER9> The ideal customer is someone who pays for a fast connection, and then uses it to check their email once a week.

Lower bandwidth usage leads to more profit for the ISP, since they can get away with overselling their infrastructure. Thus, ISPs do have a vested interest - especially considering that many of them oversell their infrastructure. And if this leads to more people using torrents (because they won't be noticing as many issues, and this will lead to usage getting closer and closer to network capacity), it will cut into profits, and potentially require investments in new infrastructure.

</comment></comment></comment><comment><USER10> If this works out as planned and ISPs trust it enough to ease up on the throttling, seems like everybody will win.

<comment><USER11> They won't. All this does is remove a convenient excuse they have to throttle the bandwidth.</comment></comment>


George Lucas wants to build affordable housing on his land - <AUTHOR> https://www.washingtonpost.com/news/morning-mix/wp/2015/04/17/george-lucas-wants-to-build-affordable-housing-on-his-land-because-weve-got-enough-millionaires/ <comment><USER2> Build it, and rent it affordably with a foundation to own it. Rent only to people with verified jobs or people with nothing to do all day will make a slumIf you make it affordable and sell it, it will increase to market rents

</comment><comment><USER3> So to make 80% of the income qualifications you can make 72k a year and still qualify. Not bad.

Glad Lucas is sticking it to those Marin county NIMBYs.</comment>


CljPerl: A lisp on Perl - <AUTHOR> https://metacpan.org/pod/CljPerl

<comment><AUTHOR> This is either the best or worst thing to ever happen to Perl...</comment>


'SRP' Does Not Protect Blizzard's Passwords - See how it's not better than SHA1 - <AUTHOR> http://www.opine.me/blizzards-battle-net-hack/

<comment><USER2> Your numbers show that SRP-SHA1 is about 50000 times better than salted SHA1. Not great, better than nothing (at least for those of us without dictionary- targetable passwords).

<comment><AUTHOR> I've been continuing to work on this through the night. Initial benchmarking on EC2 show you can test SRP passwords at a rate of ~180k / sec on c1.xlarge, at $0.66/hr per instance.

Particularly with Blizzards strange 'case-insensitive alphanumeric only' policy, anything less than truly random 8+ character passwords are within reach.

For 90% of their users, this spells trouble. If you've seen John the Ripper, you know 'dictionary-targetable' is an increasingly ambiguous term.

My main point is that Blizzard is coming out and saying in their press release: "We use Secure Remote Password protocol (SRP) to protect these passwords, which is designed to make it extremely difficult to extract the actual password"

And in their FAQ: "Cryptographically scrambled versions of passwords for North American players were accessed, protected by Secure Remote Password (SRP) protocol.... The added layer of protection from SRP makes that process computationally very difficult and expensive."

When what they SHOULD be saying is, "we used industry standard best practices, but even so the majority of the passwords have most likely already been cracked. Please make sure you change them immediately."

It would be nice if I could still tweak the title at this point.

<comment><USER2> Agreed.

As a point of comparison, it looks like you can get 650 million/s on a cg1.4xlarge instance [1] (Amazon's GPU computing instance with 2x Tesla Fermi M2050 GPUs), and it looks like they cost $2.10/hour per instance. So some quick math does show that cracking SRP is only about 572 times slower, if we normalize for cost of the instances on EC2.

1\. [http://www.nervous.it/lang/en-us/2012/06/cracking-sha1-on- am...](http://www.nervous.it/lang/en-us/2012/06/cracking-sha1-on-amazon-ec2/)

<comment><AUTHOR> I posted a follow-up -- there may even be a way to fully reduce SRP into SHA1 given that N is a 256-bit value.

See: <http://www.opine.me/srp-to-sha1/></comment></comment></comment></comment>


How to Botch a Job Interview - <AUTHOR> http://asserttrue.blogspot.com/2009/04/seven-surefire-ways-to-botch-job.html

<comment><USER2> _If you say something negative about a previous job, a previous manager, or a company, I'll assume that you may someday say something negative about me or my company._

There is a very simple way managers can stop ex-employees doing that!</comment>


Insiders Beat Market Before Event Disclosure: Study - <AUTHOR> http://www.wsj.com/articles/insiders-beat-market-before-event-disclosure-study-1442280193 <comment><AUTHOR> For those who really want to dig in on this issue, the referenced paper is "The 8-K Trading Gap" [0]. From the abstract:

 _When a significant event occurs at a publicly traded company, federal law requires the firm to disclose this information to investors in a securities filing known as a Form 8-K. But the firm need not disclose immediately; instead, SEC rules give companies four business days after the event occurs within which to file an 8-K. These rules thus create a period during which market-moving information is known by those inside the firm but not most public-company investors — a period we call the "8-K trading gap." In this Article, we study how corporate insiders trade their company's stock during the 8-K trading gap._

TL;DR: as anyone would expect, this is another way that executives make lots of money. In this case, 35 basis points over a period of less than four days.

I wonder whether it's significant that this work was done by law professors rather than by economists or B-school profs?

[0] [http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2657877](http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2657877)</comment>


What happens if an attacker can get code execution on Tesla's autopilot [pdf] - <AUTHOR> https://keenlab.tencent.com/en/whitepapers/Experimental_Security_Research_of_Tesla_Autopilot.pdf <comment><USER2> All new cars are vulnerable to this attack. There's no reason to single out Tesla which is at doing positive things for the environment and climate change.</comment>


Dorian Nakamoto: I Am Not the Creator of Bitcoin - <AUTHOR> http://mashable.com/2014/03/07/dorian-nakamoto-bitcoin/

<comment><USER2> It's lucky we're not all harassing some poor random bastard just because his name sounds similar.

"A Peter File was dragged from his car and beaten earlier this evening but honestly, who'd name their child that?"</comment>


Programming the Z3 SMT solver - <AUTHOR> https://theory.stanford.edu/~nikolaj/programmingz3.html <comment><USER2> Aw. It's been a very long time, but I used the original Oppen-Nelson simplifier, the ancestor of all SMT solvers.[1] We used it inside the Pascal-F verifier, around 1981.

Two years ago I found the sources for that in my garage and put them on Github.[2] The section "CPC4" is the modified (by Derek Oppen) Oppen-Nelson simplifier. This was originally in Franz LISP, and I converted them to Common LISP in 2017. It's not fully debugged, but it will run the basic solvers - add, subtract, multiply by constant, equality, inequality, theory of arrays, theory of structures, booleans, conditionals. That theory is completely decidable, and it covers most of the problems that cause range and subscript errors.

[1] [https://www.cs.tau.ac.il/~msagiv/courses/ATP/p245-nelson.pdf](https://www.cs.tau.ac.il/~msagiv/courses/ATP/p245-nelson.pdf) [2] [https://github.com/John-Nagle/pasv](https://github.com/John-Nagle/pasv)

</comment><comment><USER3> "SAT/SMT by Example" that appeared on the front page a day or two ago is also good, if you missed it.

[https://yurichev.com/SAT_SMT.html](https://yurichev.com/SAT_SMT.html)

<comment><USER4> This tutorial also cites it.

</comment></comment><comment><USER5> Z3 is such a brilliant piece of software - we've been using it for some small scheduling problems - such a godsend.

<comment><USER6> I imagine that for complicated inputs, the solver will just "hang". Is this an issue in practice? Can you bound its runtime?

<comment><USER5> hmm so Z3 has a timeout option you can set.

In our experience we haven't really seen it hang or do anything out of the ordinary - unsat problems on average seem to take longer than sat problems (it probably needs to scan a lot more).

We've pushed it to about a million variables or so and it has handled it well thought we might only be a the lower end of workloads.

</comment></comment></comment><comment><USER7> On the list of "cool things also happen to employ Z3", definitely check out MS Dafny programming language: [https://github.com/Microsoft/dafny](https://github.com/Microsoft/dafny)

<comment><USER8> How does Dafny differ from Microsoft's F* (FStar)[1]?

[1] [https://www.fstar-lang.org/](https://www.fstar-lang.org/)

<comment><USER9> It is more C# like, and was used to write one of the Singularity post OSes at MS Research.

"Automated Verification of a Type-Safe Operating System"

[https://www.microsoft.com/en-us/research/wp- content/uploads/...](https://www.microsoft.com/en-us/research/wp- content/uploads/2016/02/pldi117-yang.pdf)

<comment><USER8> Thanks. I see the F#/F* synergy. Are C#/Dafny as similar to favor them over the F#/F* combo?

</comment></comment></comment></comment><comment><USER10> Z3 is amazing. I have been working with it since 2007. We are now building program synthesizers using it. Having a solid system to do the heavy lifting is a life saver.

<comment><USER11> Z3 seems cool and I want to try but I must admit I fail to see how to use it for a real world project. Do you have a blog post talking about your Z3 use for your project?

<comment><USER12> We at Radix Labs (S18) use Z3 (and CVC4/SyGuS) heavily as a library to solve place-and-route problems for goal directed robot path planning problems.

Its facilities for program construction over the integers, sets, bitvectors, and reals make it an ideal candidate for this, especially when leveraging nu-Z3 for optimization over these.

With Z3, we're able to construct optimized routes for robots extremely fast (especially with extensions over the techniques described in [1]), and as a direct result, derive value for our customers as execution time is important when dealing with expensive equipment.

A couple of my friends over at trail of bits do the work that saurabh does at synthetic minds, and their code is open source so you can take a look at it. [2]

It's a decently active field of research, with solvers trading blows in the annual SMT-COMP [3]. check out their instances to see how people really use them.

[1] [https://papers.nips.cc/paper/8233-learning-to-solve-smt- form...](https://papers.nips.cc/paper/8233-learning-to-solve-smt-formulas.pdf)

[2] [https://www.trailofbits.com/services/blockchain- security/](https://www.trailofbits.com/services/blockchain-security/)

[3] [http://smtcomp.sourceforge.net/2018/](http://smtcomp.sourceforge.net/2018/)

<comment><USER10> Trail of bits is not building anything in program synthesis.

</comment></comment></comment></comment><comment><USER13> This looks great. Have been playing with Z3py for component selection for electronics, which has been a bit hard with currently available documentation.

</comment><comment><USER14> Oh, this might be helpful. I tried optimising the linear typewriter (appeared on HN a couple of weeks back) using Z3 but it got nowhere useful even leaving it for a couple of hours to churn (contrast with simulated annealing which took 10 seconds per run and got good results >70% of runs).

(I suspect just because optimising 26! permutations is HARD.)

<comment><USER15> FWIW, for that kind of search problem, I've found it useful to use a solver (or simpler exhaustive searches) on small windows as a local search, while continuing to use a stochastic search at the global level.

E.g. consider a window of (say) 6 keys and ask if any of the 6! permutations of them are better, for each possible window over the keyboard. This is similar to n-opt in TSP.

Make N as big as you can before your search falls down. Also try making a random move and local searching the region around the random move. Try all ~n^2 pairs of n/2 windows to jointly optimize. etc.

You can also make the local searches small by grouping keys and then search for the best permutation of whole group rather than single keys. Then alternate to windows of single keys.

<comment><USER14> > consider a window of (say) 6 keys and ask if any of the 6! permutations of > them are better

I imagined something similar - since we can reasonably assume that XJQZKV are doing to be at the outer edges, we can take it from 26! to 6!20!. But even constraining it as much as possible, we still end up with 6!6!6!8! and 29 years of searching.

But I'll definitely give the sliding window approach a go, yeah.

</comment></comment></comment><comment><USER16> Can someone help to explain whether this is similar to TLA+?

<comment><USER17> Z3 is a low-level solver that tools are usually built on top of. TLA+ is a higher level language that uses an SMT solver underneath.

</comment></comment><comment><USER18> I could swear this didn't exist when I was learning how to use Z3. Is it new? Did I just fail to find it? At any rate, it clears up a lot of points I was confused about. Tremendously glad this was posted.

<comment><USER19> It seems to be fairly new. The bibliography includes lots of papers published last year.

</comment></comment><comment><USER20> Can I get a lam ns example of what z3 is and what it is?

<comment><USER21> Basically, it solves the problem of finding a setting of variables that is compatible with some set of constraints. This is NP-hard but Z3 is in practice very fast nonetheless.

A case study/glowing review from a programmer at Microsoft is here:

[https://medium.com/@ahelwer/checking-firewall-equivalence- wi...](https://medium.com/@ahelwer/checking-firewall-equivalence- with-z3-c2efe5051c8f)

<comment><USER22> You could be a little more precise and say that it's NP-complete. :-)

<comment><USER23> That actually depends on the logic being used. Some of the logics supported by Z3 are not even decidable. In fact, even solving quantifier-free bit-vector formulas is NEXPTIME-complete [0] when using a binary encoding.

[0] [http://smt2012.loria.fr/paper7.pdf](http://smt2012.loria.fr/paper7.pdf)

<comment><USER22> Thanks for the clarification!

What do Z3 and other SMT solvers do if you ask them about undecidable questions? Do they potentially run forever?

</comment></comment></comment></comment></comment><comment><USER24> Is this still useful for managed languages? What is a practical use case for this for a Java/python web app?

<comment><USER25> Solving NP hard problems efficiently.

<comment><USER6> I know that every NP problem can be written as an SMT problem, theoretically speaking. But is that actually practical?

<comment><USER26> The answer to that question is, "Yes, if your SMT solver has strategies that provide good results for the problem in question."

Unless you're implementing solvers or caught up on the particulars of a solver's implementation, the best way to gauge this is to try it.

</comment></comment></comment></comment><comment><USER27> Why are types called sorts in this field? Or is there a difference I'm missing?

</comment><comment><USER28> Fantastic! Does anyone know the LaTeX source of this? I want to make a translation.

<comment><USER13> It looks to be available at [https://github.com/Z3Prover/doc/tree/master/programmingz3](https://github.com/Z3Prover/doc/tree/master/programmingz3) \- see the programmingz3.mdk

</comment></comment><comment><USER29> This is an example of title that could benefit from a simple, non- editorialized, and purely factual change: "Programming the Z3 SMT solver".

I am sure I was not the first to think it was related to Konrad Zuse's Z3.

<comment><USER30> > I am sure I was not the first to think it was related to Konrad Zuse's Z3.

The Zuse Z3 is literally the only thing I know of which hooks up with the abbreviation "Z3" in the context of computers.

<comment><USER31> On contrary, there's tons of papers published today referencing Z3, Why3, and so on. I immediately knew they meant the solver since that's the Z3 people use most today.

</comment></comment></comment><comment><USER32> Been trying out Souper, which uses Z3 underneath. It is pretty spectacular, what it is able to do.

<comment><USER13> I struggled to find it on my phone, so here is a link. Souper is a LLVM optimizer; [https://github.com/google/souper](https://github.com/google/souper)

</comment></comment><comment><USER33> I even thought it might've been about the model BMW used to make (maybe it had pioneered something by having a more programmable ECU?)</comment>


The No. 1 reason for unfriending on Facebook? "frequent, unimportant posts." - <AUTHOR> http://blogs.denverpost.com/coverthespread/2010/10/top-reasons-for-facebook-unfriending/

<comment><USER2> It seems many people must have a lot of Facebook friends they don't really know? I don't think I'd remove an _actual_ friend, or even moderate acquaintance, simply because they posted too much unimportant stuff, or posted political/religious stuff I didn't want to see--- I'd just hide their posts from my feed. But I could see it being an impetus to remove someone I realized I didn't actually know.

Or perhaps the "hide posts from feed" thing isn't a widely known alternative?

<comment><USER3> It's kind of tricky. I don't have a big problem with friends of mine who post their Farmville junk on their streams because it is dead simple to block those types of updates. Unfortunately, facebook doesn't offer a "filter this user's complaints about things you don't care about" so your options are to unfriend or block them from your stream. If you use Facebook mostly for the stream, if you block all stream posts, you might as well just remove them.

<comment><USER4> In the summer I made a Chrome extension to block status updates about the World Cup from my notifications stream, and replace them with a philosophical quote from twitter, or a picture from Flickr's API. It worked, and was fun.

I should resurrect that project, and blog about my experience creating it.

</comment></comment></comment><comment><USER5> Often comedians joke, "Nobody cares about what you ate for breakfast!"

But that isn't true! Your significant other does care and maybe your friend who gave you the recipe. The problem is that it isn't easy to prioritize certain items to certain people. I don't care what a friend from high school ate, but I do find it interesting to see what a friend who is a professional chef makes each night because it is often interesting to read and opens conversations.

I believe this has been submitted to HN before and I find it to have a lot of good insights into what social networks do vs how real life actually works. [http://www.slideshare.net/padday/the-real-life-social- networ...](http://www.slideshare.net/padday/the-real-life-social-network-v2) (it is long but worth it)

</comment><comment><USER6> I actually ended up "unfriending" facebook all together for frequent unimportant posts. I also found myself getting irritated with friends and family members from all the group invites, farmville updates, etc. and figured that facebook was mainly serving to undermine my real relationships with people. I have noticed Im much happier (and have much more free time) since I have kicked the facebook habit. Not trying to sound preachy though, do what makes you happy.

</comment><comment><USER7> anyone surprised? probably the same goes for unfollowing on twitter

<comment><USER8> Actually, mildly so since Facebook gives you the ability to "Hide" people.

</comment></comment><comment><USER9> Better ability to categorize friends and have targeted "feeds" would help mitigate this.

</comment><comment><USER10> google for: Annoying Facebook Girl Meme</comment>


Form builder with lead generation and workflow automation - <AUTHOR> https://www.producthunt.com/posts/mightyforms <comment><AUTHOR> Hi everyone! Thanks for all the feedback we've gotten through here. Today we finally launched MightyForms as an MVP and I hope you like it. :)</comment>


Embedding LuaJIT in 30 minutes - <AUTHOR> http://en.blog.nic.cz/2015/08/12/embedding-luajit-in-30-minutes-or-so/ <comment><USER2> LuaJIT is such an amazing just-in-time compiler, faster than the traditional Lua compiler, supported on many platforms and used everywhere where speed and performance are a priority.

For example it's being used in Redis to provide Lua scripting, and can also be used with nginx (OpenResty). While developing Kong ([https://github.com/Mashape/kong](https://github.com/Mashape/kong)) we noticed that LuaJIT provided substantial performance improvements.

I hope that the recent step down of the main committer won't affect the future of the project [1].

[1] [http://www.freelists.org/post/luajit/Looking-for-new- LuaJIT-...](http://www.freelists.org/post/luajit/Looking-for-new-LuaJIT- maintainers)

<comment><USER3> Kong looks like a really interesting project!

Just curious as to why you chose Lua, and what your experience with it was.

<comment><USER2> We decided to use Lua because we are leveraging OpenResty [1]. It took a while to setup the development environment, since there aren't many big, public, projects based on OpenResty + Lua, but we are on a good track now.

Lua is a very simple language, no batteries included, that's easy to learn and actually quite fun to write. It also has a package manager called Luarocks [2] (that Kong is sponsoring too). The ecosystem is still relatively young, but it's growing - and that's also thanks to tools like LuaJIT.

[1] [http://openresty.org/](http://openresty.org/)

[2] [https://luarocks.org/](https://luarocks.org/)

</comment></comment></comment><comment><USER4> Lua is such a fantastic language for embedding.

I've seen entire game logic done in 200kb on platforms that had less than 32mb of total CPU memory.

</comment><comment><USER5> The author informs that the stack is "difficult bit to wrap your head around first", then makes a bizarre statement "Once again – pushed values are indexed with negative, function arguments with positive numbers." This is not correct, you can use positive or negative indexes in either case. Positive indexes are absolute and negative are relative to the top of the stack.

<comment><USER6> Yes you're right, I just hoped that this may be a useful mnemonic (admittedly maybe a confusing one, but worked for me) for people starting with Lua. A simplification. How the index with negative offset is computed is explained in detail in the linked PIL/"The Stack" then. From my experience, the most common errors for beginners are 1-based indexing and stack manipulation.</comment></comment>


Yahoo search broken? - <AUTHOR>

http://search.yahoo.com/search?p=Radiohead&vs=azlyrics.com<p>http://www.google.com/search?as_q=Radiohead&as_sitesearch=azlyrics.com <comment><USER2> They just don't index azlyrics.com. So what?

<comment><AUTHOR> azlyrics.com is a very popular site.Only a broken searchbot/politics will exclude it.

Alexa #805</comment></comment>


GitHub Impervious to Super Missiles - <AUTHOR> http://discursive.com/2012/03/16/github-impervious-to-super-missiles/ <comment><USER2> I honestly don't find this reasoning very convincing. Mostly because it seems to be mistakenly equating Github with Git. _All_ of the issues presented on both sides (i.e. "why are we depending on this third party" and "I don't want to go back to <propriety whatever>") could be addressed with an in-house git repository. Sure that creates new problems, but if the concern is about using _Github_ turning things into an argument about _Git_ is just wasting time.

Also, statements like "Listen, Github is how software is done right now" are just _screaming_ for unnecessary confrontation and useless sideline arguments. I agree that Git is more effective (for most use cases) than any centralized VCS I've seen, but turning that _opinion_ into a bald assertion is just going to cause arguments you really shouldn't be having.

<comment><USER3> GitHub is great because you get to use git. I don't think that you can entirely separate them from each other, or craft an argument for the advantages of GitHub without somehow mentioning git. The vulnerability in GitHub clearly matters. It was a potentially explosive issue, but GitHub issued a prompt and appropriate mea culpa, while resolving the problem. Also, it stirred the pot in the Rails community, with many coming up with safeguards against the potential mass assignment vulnerability. Although I disagree with his downplaying of the problem, I certainly don't have plans of going anywhere else, which I think is the spirit of what the author was trying to convey.

<comment><USER2> > GitHub is great because you get to use git.

That's exactly my point. The article seems to be confusing a concern about _Github_ for a concern about _Git_ and then spends most of its time addressing the latter. I can (and do!) use Git without using Github. If my organization decides that Github is too much of a risk, that doesn't necessarily mean we'll be dropping Git.

</comment></comment></comment><comment><USER4>
      > This sort of stuff happens to every hosted service you
      > use, 95% of the time you don't hear about it because it
      > is a real hostile and the company just pays some ransom
      > demand in exchange for not being screwed.

Or you don't hear about it because the hostile is quietly making hay from the vulnerability in some other way. Like spying on private github repositories. The fact that github was hacked "by a friendly" doesn't mean it was _only_ hacked by him.

<comment><USER5> I believe GitHub was able to tell which public keys had been added using this exploit (because with this vulnerability, the log files should still be intact). So we/they can safely say that _this_ vulnerability was not exploited maliciously.

Sure, there may be others we haven't heard of, but that's potentially true about any service.

</comment></comment><comment><USER6> > "Those DVCS kids, they got just what they deserved, won't it be great when > we can get back to a real VCS like Perforce".

This entire article is based on the false dichotomy that either we use get along with github as it is or go back to svn.

Given the number of projects which directly pull code from github and execute it on production machines, it is not unreasonable to expect basic security from a hosting provider. I don't see why github should be given a second chance.

<comment><USER7> It also conflates DVCS (specifically, git) with the attack at Github. The security incident at Github had zero to do with DVCS in any way, shape, or form. Were Github to have been SVNHub, built on Rails, and lacking mass assignment controls, the same attack could have occurred.

</comment></comment><comment><USER8> Not to mention that GitHub also has an excellent self-hosted product: <https://enterprise.github.com/>

</comment><comment><USER9> Github wasn't hacked. Github had a programming error. The RAILS docs clearly state to be careful of mass assignment. It's a known issue.

Your product is only as good as the people who build it. Github devs are amazing I'm sure, however it just takes one moment of, "Sheesh, why am I wasting these lines of code when I can consolidate it into one line."

</comment><comment><USER10> OMFJesus, you people take my blog way too seriously. Of course I understand the issues you all raised, but this is a story (and not even a 100% accurate story because the jackass I work with would find out).

</comment><comment><USER11> It's weird how this article treats Git and Github as synonymous.

Github's rails bug really had nothing to do with Git itself.

<comment><USER12> There was not a rails bug! It is that way _by design_. Now, it is a terrible default but it was not a bug.

<comment><USER13> Designed bugs are still bugs.

<comment><USER12> No, one is naïveté and the other is ignorance. Big difference.

</comment></comment></comment></comment><comment><USER14> Why are we still talking about this? Besides the reasons listed are flat out wrong in multiple places. Not sure if it's the result of seeing the PR a week, two weeks later... 1 is completely moot. If a friendly can hack it, so can Somalian pirates. 2 is just inaccurate. 3 is applauding something that should never be necessary. 4 is missing the point entirely, as is 5. 6 is just stupid, it's not a response to "host your own Git repo".

"GitHub is a DVCS". Is the author aware that GitHub is... just Git... and that people can host their own Git repos manually? (Or their own mini-GitHub clone gitlab?)</comment>


Large Round of Layoffs Expected at Microsoft - <AUTHOR> http://bits.blogs.nytimes.com/2014/07/16/microsoft-layoffs-expected-thursday <comment><USER2> Any company that has been around for as long as Microsoft, has a huge amount of dead weight in its mid-level management. I mean people whose main skill is mastery of the internal political process.

Lest people think I'm singling out Microsoft specifically, this same problem is present at Google as well, but is less of a problem because Google has not been around long enough to pick up the same amount of dead weight personnel.

The first generation of people at a company were fighting for market, and they rose due to their ability to deliver value to colleagues and customers. But when a company becomes successful, the resources available to teams within the company becomes somewhat decoupled from company revenue. Soon, political skill becomes as important or more important than impacting the company's bottom line.

Microsoft and Intel alumni in the late 90s used to tell me that they knew managers whose main goal was to grow the headcount under them, in order to grow their own prestige.

Today at Google you can see some of this same behavior in its nascency. Most of the deadweight is outside Engineering teams because its hard to bullshit when you have to deliver a product. Still, there are peripheral functions like business development, marketing, intellectual property, privacy, policy, etc., where you can always find a few deadbeats that talk slick, but don't seem to have much to show for their time except hiring more people and making a few high impact appearances at meetings. You can go a long way if you can talk the talk, look the part, and kiss the right asses.

Microsoft has been picking up useless deadbeats for nigh on 25 years now. They really need to shed these people.

One company you have to admire is Facebook. I don't know if its true, but I'm told you basically get fired at Facebook in the first year if you don't know how to deliver something of tangible value within that time. That is hardcore.

If that metric was applied at Microsoft and Intel, you'd see the companies shedding 25% of their workforce immediately.

I suspect even Google would shed 10-15% of its people.

<comment><USER3> Facebook does indeed have a very efficient corporate structure (whether that will last is another question).

Perhaps 7,000 to 7,300 employees (assuming some pickup the last quarter or two), and $8.9 billion in sales.

Microsoft by comparison had roughly 15,000 employees when they had that level of revenue (adjusting for inflation), circa 1993 / 1994.

<comment><USER4> But Facebook is in a much more tenuous position. Nobody really needs Facebook; it's mostly entertainment and could be toppled in a few years time by the next internet/tech fad. Microsoft is a lot more entrenched in a lot more places that actually depend on their software.

<comment><USER5> Facebook is entrenched because that is where all your friends are. G+ is much better (circles are really nice), but what does that matter when your friends aren't there?

</comment></comment></comment></comment><comment><USER6> Microsoft employee here. This is great news - we have so much duplication and layers. Anything to reduce the bloat and increase agility is great news.

There is a lot of great news at Microsoft these days - great place to be - hope I'm around after tomorrow!

</comment><comment><USER7> I wonder how much of Nokia is going to get rejected. A friend of mine is a former Nokia employee who was really psyched to be working on the Surface team now — that would be pretty rough if that team got laid off just after getting settled into the company.

<comment><USER8> On zdNet they say that 1/5 of ex-Nokia workers in Finland could be axed [ [http://www.zdnet.com/one-in-five-ex-nokia-workers-in- finland...](http://www.zdnet.com/one-in-five-ex-nokia-workers-in-finland- could-be-axed-as-microsoft-prepares-layoffs-7000031667/) ]

Personally I think it will be even more

<comment><USER9> As a current Nokia employee (didn't transfer to Microsoft) it pains me to hear this.

But on the plus side, Nokia Technologies is hiring...

</comment></comment></comment><comment><USER10> Are they just going to make teams leaner (with less features in the next release) or are they going to be cutting projects/products?

I'd like to see a narrower focus from Microsoft towards things that have nice growth trends. But I guess for strategic reasons Microsoft has to continue to fund its Mobile OS division, even if it doesn't gain much ground on Android, iOS.

PS. [http://bgr.com/2014/07/01/windows-phone-market- share-3/](http://bgr.com/2014/07/01/windows-phone-market-share-3/) Windows Phone market share is dismal and shrinking.

</comment><comment><USER11> Never good news to hear about layoffs, but for those that are affected I can say there is life beyond Microsoft. (it might even be better!)

<comment><USER12> Microsoft employee here. My main concern is the fact that I'm the US on an H-1B visa. I really, really, really don't want to go back to my country, but that will be the case if I'm laid off and unable to find another H-1B sponsor in a very short time. :(

<comment><USER13> This is the #1 reason why I won't stay in the US after my phd. I have no interest in being a random CEO whim away from either having to uproot my life and move back home or frantically try to land a new job all in the short period of 15 days.

For those curious the #2 reason is that H1Bs make it hard to do even simple extracurricular activities like writing books or do consulting on the side related to an open source project you contribute to let alone start a company.

The H1B is fundamentally broken and I'm amazed that so many people put up with it. Credit to the US for being such a desirable destination, I guess.

<comment><USER14> Well, what if you are in another country working for a company (say Microsoft) on a visa, even though you are American.

> The H1B is fundamentally broken and I'm amazed that so many people put up > with it. Credit to the US for being such a desirable destination, I guess.

There are plenty of countries with more broken visa policies (I've lived here for almost 8 years and still don't qualify for permanent residency).

<comment><USER15> I know people who have lived in the US easily that long and are still stuck on H1B.

Countries with worse policies are no excuse for the embarrassment that is the state of US immigration.

<comment><USER14> You can only be on a H1B for 6 years (3 years renewed twice). After that, its either greencard or go home for a few years, and everyone I know has been able to get greencards even if the "process" is kind of tough.

However, I cannot get a greencard in the country of my residence (where I have many coworkers with USA greencards, ironically enough), so I think it is not very fair.

<comment><USER12> You can stay longer than 6 years if you have a pending Green Card application.

<comment><USER14> Yes, but your GC application has to basically be approved by that point, and you are just waiting for a slot.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Well, I have to say after reading the Monday Note piece decoding Satya Nadella's public email to the employees: [http://www.mondaynote.com/2014/07/13/microsofts-new-ceo- need...](http://www.mondaynote.com/2014/07/13/microsofts-new-ceo-needs-an- editor/)

... This doesn't come as much of a surprise. His main message seemed to be 'Shape up or ship out.'

</comment><comment><USER17> Context: I was at Microsoft during the first and only round of layoffs in company history (2009). My job was not impacted at all by the layoffs so I speaking from my memory of what was happening around me. In fact, I was working on an incubation project that was one of the few ideas that was green- lighted with a pretty sizable team that year.

My perspective: From a company perspective, eliminating 5000 people in 2009 was a great idea. It was (and is) a huge company so it probably could have been more. However, the layoffs in 2009 were seriously botched. Many organizational best practices were violated.

Microsoft made an announcement saying that there would be ~5000 layoffs and that they would be completed over the following 18 months. This timeframe is too long! Layoff best practices say: cut deep and cut fast. Get rid of the people that have to be let go, treat them as well as you can on the way out, and then show some serious TLC to the employees you want to retain and rebuild your culture and trust with the people who stick around. Don't let the entire company live in fear for 18 months!

As much as the stack rank was a thing at Microsoft in those days, even if you were the lowest ranked employees for 2 years, Microsoft was hard-pressed to actually fire anybody. Even during this time of layoffs, Microsoft decided to divest in many businesses/products and chose not to eliminate people based on performance.

For example, they shipped one last version of MS Money and then the whole team was RIF-ed. Everybody on that team would get ~2 months to interview and find other jobs in the company otherwise they got a generous severance package and were no longer employed. Combine this with the fact that many Microsoft teams had recently restricted their headcount, it was relatively more difficult than it ever had been to find a job within the company.

The divesting strategy was interesting and it probably would have been a good way to do massive position elimination except that not all final versions of products were aligned to ship in the same timeframe. So anybody working on small-ish or lame-ish products had a fear for many many months that after shipping their current product, they would be out of a job. IIRC, this strategy of divesting took about ~12 months instead of the 18 months they originally announced before they provided comfort to the employees that the layoffs had completed.

This was also during the economic downturn of 2008 so there was extra angst from people who lost their job because they had just lost a lot of their net worth from a seriously depressed market. Morale suffered. Lots of good people defected to Amazon, Facebook, Google.

This time around, I hope Microsoft does a better job of keeping the timeframe for cutting to a reasonable period of time like 1-2 months. Unfortunately, even if you make it through the layoffs and feel secure that you have SOME JOB, you'll probably not really know WHAT SPECIFICALLY you're working on until all of the re-orgs play out. This is colloquially known as re-org hell.

Best of luck to the people impacted. It's a relatively better market this time around. If any of you make it to San Francisco, I'm happy to grab coffee or give you pointers on some cool companies looking for great people.

<comment><USER11> The other botched part of that 2009 'downsizing' was that everyone who was left didn't get a bonus, raise, etc. right as silicon valley was firing up and other big & small tech companies were hiring like crazy. A year or so later and attrition was _massive_. Things got so bad there was an emergency ~10% raise for everyone in engineering, and large bonuses for mid-level folks. The controversial review system that was barely a year old was scrapped entirely and reverted to the old system. It was very, very weird and seemed like a move of desperation.

For anyone left after this round of layoffs, it might be worth looking around to greener pastures come August when reviews roll out. If you're in a strong position I strongly suspect the company would bend over backwards to try to keep you around amid the mess.

</comment></comment><comment><USER18> Interesting how this will impact the job market on the West Coast. You'd think that 5-10k people in IT would quickly fill a lot of the currently open positions.

<comment><USER19> I work in silicon valley and it seems like there is a huge shortage of people with software development skills. I am not talking about geniuses, just people with skills. I work at a company that isn't the sexiest (but a good stable employer) and man, it is hard to find people.

<comment><USER20> Honest question as a developer looking eventually to move to the Valley in a year or so: is it really that hard to find good people? Is software development really that hard? I taught myself 99% of what I know and found it to be pretty easy, and currently do iOS dev work. Just wondering.

<comment><USER21> There's enormous demand for good people globally. The price at which demand meets supply is pretty nice for employees these days.

<comment><USER22> Depends on the country, to be fair. I could earn 10 times more if I could just bite the bullet and relocate to west.

<comment><USER21> Or East. Singapore, Hong Kong and Australia pay well, to name a few.

</comment></comment></comment></comment></comment></comment><comment><USER23> Microsoft was made significantly flatter today, so hearing there is indeed going to be layoffs isn't surprising, though I admittedly hoped they'd figure out how to do it without incurring so many layoffs.

<comment> X-Istence Where is more information about Microsoft having been made flatter?

<comment><USER24> They had a vague announcement about organizational changes a few months ago to a "flatter" hierarchy. It was the first hint of the layoffs that have now come to fruition.

</comment></comment></comment><comment><USER25> "The deepest cuts are expected to come from the businesses the company bought from Nokia several months ago"

Will that affect Qt?

</comment><comment><USER26> I guess this means between 7000-9000 layoffs based on the crude calculation 600M/(60,000 ~ 75,000)~ approximately

<comment><USER27> If the goal is 600MM / year in savings, your denominator is off by quite a bit. Fully loaded cost of an employee is significantly higher than 60-75K. Try 3-4x that amount.

<comment><USER28> you should assume ~200k for an engineer in a market like seattle

<comment><USER29> In what languages? Obviously location is important but I am writing C++ on multiple platforms in the UK and $200k is far away.

<comment><USER30> I don't believe the parent is referring to the salary of the employee, but rather the overall cost to the company for that employee.

<comment><USER28> this. what a company budgets for the average full cost of an employee per year. so someone who makes $100k and someone who makes $225k in their own salary all average out to $200k when you take salary cost + insurance costs, 401k, perks, overhead, etc.

</comment></comment></comment></comment></comment></comment><comment><USER31> Did they essentially fire 5k with stack ranking annually before?

</comment><comment><USER32> Companies ruined or almost ruined by imported Indian labor (US) [http://sammyboy.com/showthread.php?98021-Companies-ruined- or...](http://sammyboy.com/showthread.php?98021-Companies-ruined-or-almost- ruined-by-imported-Indian-labor-%28US%29)

<comment><USER33> That thread got very racist very quickly. I don't know if it's intended to be satire, but it conflates a lot of issues and blames it on Indians. AIG and Lehman, for example, collapsed due to very different reasons.

<comment><USER32> [http://business.rediff.com/report/2009/sep/24/indians- among-...](http://business.rediff.com/report/2009/sep/24/indians-among-most- corrupt-while-doing-business-abroad.htm)

</comment></comment></comment><comment><USER34> How can you fire 18,000 people without seriously disrupting your business (not even considering loss of morale, angst, good employees running away or getting their resumes ready). But just logistically. How do you decide who those 18,000 are? Just random? How do you know which are 'expendable' or the 'bad Apples'? When you are talking this size, I doubt that is even possible.

<comment><USER35> It's impossible for 1 individual, but if it's as "strategic" as the letter says, then it was probably done to specific departments by specific amounts. That'll filter down and the final, specific decisions probably get made at much smaller scales. There's certainly going to be some sub-optimal decisions, though.

</comment></comment><comment><USER36> As someone starting at Microsoft in the near future, should this make me worried?

<comment><USER35> It should make you cautious and curious. A few years ago I accepted an offer from a large company who announced massive layoffs in the near future. I contacted my recruiter and asked if this affected my offer and they said no. I later pushed them for more details about who I would report to, if I could speak with a member of the team, what I should do to prepare, and what I would work on. They were very closed about all this and hard to contact. Eventually I found out the entire department was gone and I was going to work on mobile apps and web pages instead of highly scalable backend infrastructure and distributed databases. I also found out they had intentionally hid this from me, so I immediately told them I would not join the company. I don't share this to scare you or suggest Microsoft would do the same, but understand that you are entitled to have your questions about your standing with the company answered. Pay attention to who they let go, and question how well that bodes for your goals at the company. If they can't or won't help you understand this, understand the risk you're taking. As I've said elsewhere in this thread, layoffs can be a sign the company is doing what it needs to for the future if it's done correctly.

<comment><USER35> One other thing I would add to this is that I believe there are legal problems if they were to revoke a job offer in a situation like this (what I heard - IANAL). Keep in mind that an obligation to still hire you may mean you're walking into a situation where they no longer wanted to hire you. In my case, people I went to for advice kept pointing out that if the company was making such a drastic cut of their engineering staff, they shouldn't have been hiring less-experienced employees anyway. That doesn't seem to be the case in Microsoft's specific situation with Nokia, though.

<comment><USER36> Well the good news is that right before I was about to write emails to my recruiter and old boss, I got emails from them saying that all is well with my current placement. What a relief!

</comment></comment></comment></comment><comment><USER37> Raise your hand if you saw that coming when Android and Apple beat Microsoft to the punch in the global mobile market, and then kicked them a few times while they were down, and then laughed about it.

<comment><USER38> Yeah, I doubt this has anything to do with mobile. Microsoft has a lot more technologies than mobile. This has way more to do with the insane hierarchical structure they have in place.

</comment></comment><comment><USER39> I knew Microsoft was on the way out but I didn't know the situation was so bad. Hopefully those who lost their jobs will find a place at Google or Apple.

<comment><USER35> Layoffs are a sign that a company has been struggling, or has been slowing, or has grown disproportionately in personell, but that someone is doing something that probably needs to be done. It is not always the solution, but it is also not a sign of ultimate doom.

<comment><USER40> From what I've heard, if you're not working on cloud services, you're a dinosaur.

They just let go of XP and cloud services are making the need to support office version X for 10 years less relevant. MS must spend a ridiculous amount of time & treasure supporting old crap.

<comment><USER41> They sold Windows 3.1 until the year 2008. I would agree that they spend way too many resources on the past.

[http://en.wikipedia.org/wiki/Windows_3.1x](http://en.wikipedia.org/wiki/Windows_3.1x)

<comment><USER24> They still sell embedded DOS. Supporting legacy products is good customer service. It's not like they were spending tons of resources to maintain the code.

</comment></comment></comment></comment></comment><comment><USER42> [http://www.luimbe.com/wp- content/uploads/2011/05/photo.edit_...](http://www.luimbe.com/wp- content/uploads/2011/05/photo.edit_.community.magnitude.jpg)

? :/</comment>


The Shopify for local delivery businesses, spread the word? - <AUTHOR> Hello guys,
We have created http://www.orderingpages.com and we would like people to spread the word.
What is exactly what OrderingPages does?
You can create a online store for a pizza place or any other store, like laundry or even clothes in less than 3 minutes.
We have templates, integrations with Paypal, Stripe, etc. Even with Bringg.com
We do not charge commissions or anything to use it, it is 100% FREE.
Can you help us spread the word? Or at least try it :D
Thank you
Alonso
Cofounder <comment><USER2> Pizza has sizes(Large, medium, small), Items(Pepperoni, mushroom, etc), extras (extra sauce, no sauce ), 1/2 items.</comment>


Windows drops to No. 3 cash-cow status in Microsoft' latest quarter - <AUTHOR> http://www.zdnet.com/blog/microsoft/windows-drops-to-no-3-cash-cow-status-in-microsoft-latest-quarter/11696 <comment><USER2> It's worth noting that Windows Server lives in a different category, and so it actually counts _against_ Windows being a cash cow in this case. Its category, which includes SQL Server, is the one that beat out "Windows and Windows Live".

To put it another way, Windows was partially beaten by another Windows for cash cow status.

So don't count it out just yet.

</comment><comment><USER3> Actually the Windows division of Microsoft is still the second most profitable division of Microsoft. The Windows divison is 3rd in revenue, 2nd in cash.

The title is misleading.

<comment><USER4> "Cash" and "revenues" are largely interchangeable (modulo financing and billing practices).

Did you mean "revenues" vs. "gross/net profit"?

<comment><USER5> Cash and Revenues are two totally different things on financial statements, like the ones pictured in the article. jamesredman is completely right that the article is incorrectly titled. Cash cow refers to something that generates free cash flow and this article misinterprets that to mean revenues, which actually have costs associated with them and don't represent cash flows.

<comment><USER4> That would be a distinction. Wasn't entirely clear to me in jamesredman's post.

Thanks.

</comment></comment></comment></comment><comment><USER6> Sure would like to know where Visual Studio falls in this. I would think giving away all versions of VS would only benefit Windows and Server sales by encouraging more developers.

<comment><USER7> Visual Studio is part of that Server and Tools division's $4.8 billion in revenue.

<comment><USER6> I suspected as much, but how much of that $4.8?

<comment><USER7> I don't think they ever directly publish that, but they did publish in 2010, producers of Visual Studio extensions brought in over $400 million in revenue. Considering the people buying those extensions have a full version of Visual Studio, and the cost of VS and MSDN subscriptions, I would not be surprised if those two things account for _most_ of that $5 billion.

<comment><USER8> Wow. In that case, it seems like it ought to be tempting to double the cost of Visual Studio and give non-business copies of Windows away.

<comment><USER2> You'd think. But that would reduce the number of Windows developers, so doing that would be eating the seed corn.

</comment></comment></comment></comment></comment></comment><comment><USER9> What does Microsoft Business Division do?

<comment><USER10> Office.

<comment><USER11> Don't forget Sharepoint as well. From what I understand, it is a major source of revenue growth right now.

</comment></comment></comment><comment><USER12> Consumers can easily see alternatives to MS products are better. It's only a matter of time; MS lost that contest.

They are now resigned to use bogus patents to get a piece of the future they will not otherwise be a part of. The alternatives to their ridiculous continous upgrade path are more functional, easy enough to use and more cost effective. When we manage to show this to business market, MS is in big trouble. Cost effectiveness and ease of deployment and use. MS can be beaten on these fronts. And they will be. In time.

</comment><comment><USER13> Blaming the decline in Windows revenue on the floods? Priceless. You can't get around the fact that they're facing their first real competition in the consumer PC space and that for a lot of consumer use cases, the average $500 Windows laptop compares pretty poorly to a tablet.</comment>


How to Sharpen Pencils (2012) - <AUTHOR> https://blog.etsy.com/en/2012/how-to-sharpen-pencils/ <comment><USER2> I encourage everyone to watch what is basically a film version of this to get a sense of his humor:

[http://vimeo.com/60718161](http://vimeo.com/60718161)

</comment><comment><USER3> Funny but this sort of annoyance is actually why I use a mechanical pencil.

...which incidentally I was laughed at when I started at my current company as everyone had IBM X60 tablets apart from me.

I have the same pencil after 8 years though.

<comment><USER4> Ordinary mechanical pencils are nice but the 0.7-0.5mm tips the layman is likely to see aren't always the best option. I recommend the use of a 2mm lead holder, because it acts a lot more like a regular pencil, and because no one except architects seems to know these fascinating little implements exist (and the architects are all doing things on computers these days anyway). And I can easily see you having the same one after 8 years :)

<comment><USER5> Right?! (Sincerely, an architect.)

Also, we're pretty obsessive about them: [http://leadholder.com/](http://leadholder.com/)

<comment><USER6> You're not the only ones: [http://davesmechanicalpencils.blogspot.com/](http://davesmechanicalpencils.blogspot.com/) \-- granted the man has almost no perceptible taste, but he does make a decent Exhibit A for the propelling-pencil side of the argument.

</comment></comment></comment></comment><comment><USER7> When I was in school, we used pencils until we were in standard 1 (now called grade 3). After that it was mostly pen. In fact, I remember my teacher saying that I'd have to use a pen if I wanted to progress to grade 4. Pencils were perceived as infantile, outside of a few niches (technical drawing, geometric constructions and automated tests).

It therefore surprises me to see their widespread use in, especially, the US, if movies are to be believed. I would never be able to write an essay in pencil, for example. Are there any particular applications to which they are better than pens?

<comment><USER8> I grew up in an Indian school in the middle east, and know what you're talking about with pencils considered infantile (grade 5 we HAD to write with pen, and until then we almost HAD to write in pencil). As soon as I came to college in the US and realized I could submit work in pencil, I ditched all my pens like termite-infested bricks.

In my opinion, pencils are clearly superior for everyday tasks. Basically, just with the fact that they can be better erased. To me personally, they feel better to work with because they have finer pressure-based control. This is why a lot of artists always draft in pencil, and leave a lot of details in pencil too. Manga artists, architects, proofreaders, some stenographers, etc use a lot of pencil. Several of these end up inking their work afterword, or using pencil-work just for drafts that are later digitized.

However, I can go on about objective reasons why pencils are just better regardless, no particular applications necessarily.

They're cheaper. They're not going to go dry because you 'lost the cap' or it's old. You know a pencil is going to work if it has any lead poking out. It's consistent and reliable compared to pens suddenly not working mid-word. They're lighter to hold (less tiring and strenuous on your wrist to write for a long time). If they break they're not going to get everything in your bag stained. They can write well on many more surfaces than most pens. If one pencil fails for some reason (lost?) you can just get almost any nearby pencil and resume (unless you're in an advanced application field like technical drawing or manga artistry) without your work looking strange (2-toned).

I keep a pen around for the sole purpose of signing forms and writing checks (where the fact they're harder to modify is actually a good thing), and filling things people ask me to fill in pen.

<comment><USER3> This, although I use a Rotring Rapid Pro mechanical pencil. I only use that because it's less messy and much heavier than a normal pencil so it's easier to write with, plus the end doesn't break off in your pocket.

I have a pen for signing as well but it's got a Fisher space pen refill in it they flow reliably meaning no grinding on a sheet of paper to get ink out. Plus it works upside down and all sorts which is handy for signing pizza cheques on my doorstep :)

</comment></comment></comment><comment><USER9> A tip for aspiring professional pencil sharpeners - On step 7, after correcting the collar, make sure to clean the tip with strokes TOWARDS the tip of the pencil. Your client will not be happy with the product if graphite residue has stained the wood. Don't learn the hard way like I did!!

</comment><comment><USER10> There seems to be something very Japanese about this to me. I get that there is a humorous component, but there's also something precious about putting so much time and focus into doing something obsessively well. This point is made more apparent in this case by the choice of pencil sharpening -- a practice that is easy to see as less important than many other things he could be doing. But that's kind of the point. It helps to bring the focus away from the utility of the practice, and point it more towards the idea of doing something well, regardless of what that thing is.

</comment><comment><USER11> If only someone would write something similar about making a cup of coffee.

<comment><USER12> There do exist serious tutorials on making espresso and don't even get me started about what is and what isn't ristretto.

</comment></comment><comment><USER13> I like how he likened the tutorial to a science prac. "Did closely does the sharpened pencil correspond to your desired outcome?"

We often take the most basic tasks and just do it without much thinking, but when once you do, like in the article, it's amazing how many different outcomes can be produced (i.e the table)

</comment><comment><USER14> Table 5.1 is my favourite graphic from this article.

In particular the "23 rotations" and "25 rotations" rows.

</comment><comment><USER15> For anyone who liked the article. Here is an informative video on David Rees. [http://www.youtube.com/watch?v=KabOfnbS4TQ](http://www.youtube.com/watch?v=KabOfnbS4TQ)

</comment><comment><USER16> I fail to see the humor in this. Maybe if it wasn't that extensive? It got a bit tiring..

<comment><USER2> The extensiveness is the charm of it. It's not strictly a humor piece, I think you can consider it more of a performance art that he does. You could buy a pencil sharpened by David Rees in this manner and he would ship it to you. I'm not sure he still does it though.

[http://www.artisanalpencilsharpening.com](http://www.artisanalpencilsharpening.com)

As far as I know, it's not a joke but the absurdity of it is part of the point of doing it.

</comment></comment><comment><USER17> I fear that someone will take this seriously and create "an app for that".

</comment><comment><USER18> This was written by David Rees, whose comic strip Get Your War On had to be the single best thing to come out of the 2001 wars.</comment>