Lessons from my app launch, with stats - <AUTHOR> http://www.ktusznio.com/blog/2012/09/04/the-my-minutes-launch/

<comment><USER2> Your SEO, Landing page, plus posts on HN and reddit probably had little if anything to do with your sales. Most people discover iphone apps on their devices(app store), and the closer you are to the top of a list, the more likely you are to sell . In your case, the list you were on was the new releases list

<comment><USER3> There is web SEO and App Store SEO ( www.slideshare.net/kolinko/new-rules-in- app-store-search ). Most people use app store on their devices, and that's why SEO matters - especially when you're an independent developer with minimal chances of getting to the Top#25 lists.

</comment></comment><comment><USER4> few takeaways (having just gone thru the same experience of launching our first app in July)

1) don't assume that because you're bootstrapping, you "have to charge something for the app". View free/paid as two different marketing channels (that's really all that they are). With free apps - they are ad, in-app purchase and/or lead supported - while paid apps support themselves. There is no right or wrong way to monetize, but by having one of each, you're eligible in both top app chart categories, which helps.

2) you may have benefited from this (or maybe you didn't) - but one thing that surprised me was the market for "apps gone free". We released our app as a free app at first, but once the downloads started to fall off, we figured "what the hell, let's make it paid" after which we rose even higher in the rankings on the paid side than we ever achieved on the free side. Then when paid installs started to fall off, we switched the app back to free, which had a surprising result: it got picked up by all of these "apps gone free" feeds (tons of blogs subscribe to app pricing updates - so it was suddenly eaten up by this niche market of users who download all of the apps that recently became free). Granted - these weren't engaged users, but it padded download stats for a few days. When that happened we experienced our best two free install days ever before normalizing again.

Interesting to see your stats, thanks for sharing.

</comment><comment><USER5> Congratulations on your launch and nice work on the app!

I'm concerned though about the economics of your investment. Have you calculated what your break-even point is in terms of sales? Do you expect to hit it?

<comment><AUTHOR> Hey, my main goal for the app was actually to learn iOS and all about releasing and marketing an app. I didn't care to set financial goals for it really. I'm definitely aware (and have been) that it's a time investment, and I can't afford to sink my resources into it forever.

But even if the app fails in the end, the skills I've gained in going through the process of building and releasing the app should pay off in the long run, whether that's in making another app or freelancing or finding another full- time gig.

<comment><USER5> Fantastic! This is definitely a great way to learn and it will pay off. Congrats!

</comment></comment></comment><comment><USER6> Congrats and keep shipping :)</comment>


Why HP Fell - <AUTHOR> https://mondaynote.com/50-years-in-tech-part-2-why-hp-fell-621c42238479 <comment><USER2> All of the big computer manufacturers in the 1970s faced challenges in the transition from minicomputers to microcomputers. Probably Digital Equipment Corporation was the saddest case.

A review circa 1980 of minicomputer development at DEC indicated their belief (probably shared by many in the industry) that there was not going to be room for such a diversity of architectures as there were in the minicomputer age and the 1980s would wind up like they did, dominated by a few chips like the 6502, Z80 and 8086.

As it was the 1980s were a minefield. With hindsight one could imagine that DEC could have come out with a 32-bit microVAX-based PC circa 1985. (With hindsight I don't think anybody thought that it would take another 10 years for 32-bit OS to be mainstreamed) I'm sure they thought about that, but it was certain that such a product would have taken a bit out of the existing VAX business and not certain that it would have caught on.

That doesn't excuse Carly Fiorina for the later problems at HP. Remember that Carly Fiorina was involved with fraudulent accounting at Lucent in 1999, personally I lost a few thousand bucks overnight when Lucent restated its earnings in 2000. Thanks to Carly, a proud American innovator (the former Bell Labs) got bought by a European bastion of stagnation.

If justice worked for the elite, Carly would have done time in prison and certainly wouldn't get put in charge of another company, but unfortunately there is no justice, and she got a chance to run another American innovator into the ground. At least she demonstrated how tone deaf Republicans can be by thinking her experience qualified her to run for president.

<comment><USER3> >got bought by a European bastion of stagnation

Which then got bought by Nokia, a Nordic bastion of...something.

<comment><USER4> Bastion of sisu[1], it seems, given the perseverance of the people in the mobile division and their success at resurrecting the brand at HMD Global.

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

<comment><USER5> HMD Global, sure, don't forget Jolla though [1]

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

</comment></comment></comment></comment><comment><USER6> At school (1991-1994), we had HP and Sun workstations. The HP were nicknamed the toasters because they were hot. The Sun were beautiful beasts. After power failure, we regularly had problems with Sun, never with HP. When we were downloading games from the net, it was easy to compile them on Sun, but was always a nighmare on HP (non standard includes, libraries, ...). I think HP is excellent about hardware, but terrible for software. I often see the similar problem for car makers: good cars but with a terrible computer.

<comment><USER7> _it was easy to compile them on Sun_

The Sun machines were much more common and a lot of software was tested/built on SunOS.

<comment><USER8> In the 90's and early 2000's Sun machines were pretty much the default for developing new software during the dot com boom. I was told this was due partly because Sun sold a lot of hardware on credit (and then this crashed when the dot com boom crashed.)

I worked at HP during this time helping software vendors port to HP-UX. I also spent some time on the side compiling open source projects for fun on HP-UX and then pushing the required patches back to the project's owner.

Anyone remember Pointcast?! [https://en.wikipedia.org/wiki/PointCast_(dotcom)](https://en.wikipedia.org/wiki/PointCast_\(dotcom\))

I was assigned to them briefly.

<comment><USER9> In the 90's and 2000s, Sun machines might have been a kind of default for _deploying_ new software, but they certainly weren't the default for developing it. By 1998, you'd be getting a much better machine from Intel than you could get even in the same ballpark cost as from Sun. If you did work on a Sun workstation, you probably did it grudgingly (except that they had a really good C++ compiler for the time).

<comment><USER8> The companies I worked with primarily developed on the systems customers used. You really want to see the issues on your tier1 platform as you develop. Linux was not tier1 at that time.

This meant that code written on Sun that performed well performed poorly on HP-UX occasionally -- not because HP-UX was a worse platform, but because corner cases in architecture could bite you. On your tier1 development platform you tend to weed those issues out early.

</comment></comment></comment></comment></comment><comment><USER10> I dont know about HP before the late 90s, but I have been working in some form of tech for 15 years now, and I have developed an aversion to any HP product. Seeing that logo fills me with dread and anxiety. Early on it was dealing with printer drivers, and explaining to users that you don't need the full install to use the device. Then it was painfully navigating HPSM. Then test driving the HP Stackable Switches which we bricked on the first attempt to update. Now it's HPNA, which I fear I'm going to be forced by management to port a bunch of scripts to.

I have known many other people in all levels of IT that have felt the same way.

<comment><USER11> You'd have to go back to the early-mid 90s for bulletproof printers that never complained and did not require (or even encourage) installation of horrible software. HP also made good oscilloscopes, gas chromatographs, and the like, but of course those weren't shiny enough to keep on making.

<comment><USER12> Technically the HP division for oscilloscopes and ee equipment still lives on via Siglent/Agilent/whatever name they're calling it now.

Does anybody know why their test instruments division was spun off in the 90's? Was it to cut down on bureaucracy, or to "reinvent" the company for the digital age, or something else?

<comment><USER13> Siglent is a Chinese test equipment company.

Agilent is HP's life science division (test equipment for biology folks) and the electronic test equipment division is now called keysight.

As far as I'm aware these two were spun out since the growth wasn't as good as the consumer electronics division.

<comment><USER14> Or to save the crown jewels from going under with HP the IT conglomerate. I guess a mature IT and consumer mass market requires different corporate structure, scale, and growth compared to ee and chem lab equipment.

</comment></comment></comment></comment></comment><comment><USER15> I never understood HP's acquisition and rapid scuttling of Palm. What a waste.

The Touchpad was only on the market for just over a month before being discontinued. Why do that?

WebOS had a lot of potential as a platform, to the extent that both Google and Apple subsequently borrowed major chunks of the UI.

<comment><USER16> They borrowed more than the UI. Google hired one of the chief designers of WebOS to become the chief UI designer of Android (Matthias Duarte).

<comment><USER17> When I worked in engineering at T-Mobile, the Danger Hiptop was the device that all the engineers loved. At the time, Duarte worked for Danger.

He left Danger to go work for Helio, then Helio was acquired. He left Helio to go work for Palm, and then Palm was acquired.

Oddly enough, the team that wound up doing the OS for the iPod was in the mix during this timespan also. They pitched a product to T-Mobile, but T-Mobile wound up going with a competitor. So Pixo wound up selling their wares to Apple, and the rest is history.

Source: I am a former employee of T-Mobile, HP and HPE.

<comment><USER18> > Danger Hiptop

(wistful sigh)

<comment><USER17> It was a magical time. I wish I'd taken more pictures. I had no idea that these guys would go on to create Android and kinda change the world.

At the time, I honestly thought it was all a bit silly TBH! "Why would I want to take a picture with my phone when I have a perfectly good camera?"

"Why does Paris Hilton have her pictures stored on OUR servers, doesn't she know that's a security risk?"

Fun fact - all those pics, from all the customers, were stored completely unencrypted. They were uuencoded for some reason, but if someone wanted to, they could've hoovered up every last file.

I was working the day that Paris Hilton had her account hacked, that was not a fun day. It was looking like some heads would roll, and then it turned out the hackers exploited her account by simply guessing her password. The initial fear was that someone had penetrated the network.

</comment></comment></comment></comment></comment><comment><USER19> Gassée's problem is that he sees everything through an Apple-tinted lens. There's almost no subject that he can't turn back to his comfort zone of talking about Apple.

Here we're promised an alternative account of why the conventional story of HP mismanagement is false, and end up with a lot of handwaving and 'Apple starting' as an inevitable explanation for HP's decline, despite Apple nearly going bankrupt in the intervening period.

<comment><USER20> If Apple had never gotten out of the embarrassment that was the _Performa Era_ with a multitude of largely similar but wildly different priced computers, Apple would have gone the way of HP and divested itself of different business units until nothing of value was left.

Instead Apple focused, got its shit together, and did something important. HP could have done the same, knuckled down and fixed the fundamental problems with their company, but instead they decided to throw away all their babies and drink the bathwater.

The problem is not that Gassee sees everything through the Apple lens, but that very few companies have been like Apple and maintained focus. Tech companies, ironically, often fail from their wild success: MySpace and Yahoo! being two notable examples.

Once they have all this money they start to do lots of stupid shit and ultimately lose their way.

Microsoft was on track to do this, but they seem to have sobered up. Facebook, on the other hand, will probably fail if they can't regroup and rethink their purpose. One day some telecom will buy Facebook with pocket change and we'll all go "Yeah, well, saw that coming."

<comment><USER21> _with a multitude of largely similar but wildly different priced computers_

As an aside, they seem to be headed back in this direction once again, with what appears to be 5 different-but-essentially-the-same phones coming out on the market this september.

And a whole bunch of wildly priced desktops and laptops that don't seem to consider anything but the bottom line.

<comment><USER20> That's the trap. If they want to succeed they have to accommodate a wider range of use-cases but not without complicating the product line-up.

The problem is that phones are a way bigger deal than computers. If they made but one laptop model it'd be ridiculous. Having one or two phones isn't a big deal. Twenty or, like Samsung in its heyday, two hundred is a problem.

</comment></comment></comment></comment><comment><USER22> It would be tempting to blame Carly Fiorina and she exemplifies the cult of CEO, short term thinking, no solutions beyond wall street focused cost cutting, financial engineering and layoffs, no accountability and exiting with golden parachutes with no damage to their finances or reputation. This while the company loses long term viability, sheds talent, focus, and burns,

Robert Nardelli, former Homedepot CEO is also a similar instance of CEOs making bad decisions with little push back and accountability and exiting with reputation and big bucks. Neoliberalism and a fawning media and 'economists' propping up whatever narratives vested interests push has to shoulder the blame.

No company can survive short termism and a string of wall street focused CEOs. HPs decline hastened under her 'reign'. They folded from hardware, were content to sit on printer revenues and DRM and focus on 'services'. None of these have scope for innovation.

</comment><comment><USER23> As someone who was with HP since before the Compaq merger, and having drifted to a spin off, I do miss the old company. The "HP Way" was given importance at least in many of the groups I worked in. The rules of the garage [1], open door policy, skip level meetings, etc., were known even to new employees.

The culture fostered by the managers of those times (later displaced and kicked out steadily after the Compaq merger and the disastrous EDS acquisition) was what kept people around while the CEOs were busy burning the company down. That culture is still intact in some small pockets.

Top management since the times of Carly, Mark (a one trick person who couldn't do anything other than cut costs by selling and cutting everything), Leo and then Meg were mostly clueless on running such a large company that had the capability to create integrated solutions — HP had PCs, laptops, printers, printing solutions, PDAs, phones (briefly), tablets (briefly), software, services, security tools, networking devices, storage devices, servers with PA-RISC/Itanium running HP-UX to servers with x86 running Windows/Linux)...I'm sure I'm missing many more product areas of HP since Carly's time and later.

I still dream that HP could do better as one company with many products in different areas. But management styles that worship Wall Street and look only at their bonuses can't handle that.

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

</comment><comment><USER24> The story does not seem very convincing to me. The split between lab instruments and computers - may actually help fix the next problem. The disregard of consumer products - partially fixed later when they managed to sell large numbers of printers and not only business laptops.

So maybe the big problems did start around Fiorina's time after all.

<comment><USER25> Also, past the LaserJet 5, their printers started taking a nosedive in quality. In my own experience at work, the 1000 didn't last long before it started spewing toner all over the page, and the 4550N, a gigantic color laser with extremely expensive consumables, did likewise.

Don't get me started on their inkjets. Nothing like an all-in-one that won't even let you SCAN when it decides to "expire" a costly printhead.

My policy regarding HP printers: "Never again."

<comment><USER26> What's a brand of printer that _doesn 't_ sell the printer at a loss and then has you pay through the nose for tiny cartridges of ink? I made the mistake of buying a Canon once and now I'm looking for a new printer.

<comment><USER27> If you don't do a lot of photo printing I'd highly recommend getting a laser printer. Far more reliable than inkjets, never dry out, and the toner is cheap. I got an $80 black and white Brother nearly a decade ago and it still works fine. These days you can get color laser machines under $200 and the toner remains far cheaper than ink cartridges.

The other way to avoid paying through the nose for tiny ink cartridges is to get a printer with refillable ink, i.e. Epson's EcoTank branded models or one of the many third party refillable cartridge solutions. But these always end up drying out and clogging if they're not used frequently enough.

<comment><USER28> I second the laser printer for people who only print occasionally. I have a cheap Samsung ML-1710 laser printer. Bought it for under $100. Unfortunately neither Apple nor Foomatic include drivers for it any longer so it's become a doorstop. If anyone knows where to find a working driver from a reputable source I'd love to know.

Edit: Apparently splix driver works for this one.

[https://www.openprinting.org/driver/splix](https://www.openprinting.org/driver/splix)

I swear the ML-1710 model did not show up last time I checked the printer list. Maybe I just missed it.

<comment><USER29> Samsung gives out drivers for download. A simple search found it:

[https://driver-samsung.com/samsung-printer-ml-1710-drivers/](https://driver- samsung.com/samsung-printer-ml-1710-drivers/)

I own a ML-1660 for now 7 years and the drivers still work fine for me. Just no duplex printing, which is a shame.

<comment><USER28> Yes but the drivers they have don't work on current MacOS. Mac OS X (Tiger) v10.4 is the latest.

<comment><USER30> Interestingly, this is to some degree an Apple problem. Microsoft has no problem supporting printer drivers from Windows 7 (or before) in Windows 10, or Windows XP drivers in Windows 7. It's so very Apple to regularly throw out history.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> I'm working in a company that is exactly in this same position, that HP was in apparently around the 80s. The thing is that these big companies one or two generations after the founders are mostly staffed with people who know nothing else. They did their university internships in this company, they wrote their final thesis in this company, and now they work in this company. Of course that makes them super loyal, but that fact also makes it impossible for them to see that the company as a whole is currently colliding with an iceberg. I mean, it will probably still exist in 50 years and make a lot of money. I even own stock in my company because I believe it's strong. But it's quite unlikely that 10-20 years down the road it will still be the powerhouse it is now. The market is not continuing as it used to, but the company can hardly turn its course. People are not even recognizing that fact and confidently continue on the same path that worked for their mentors in their corresponding youth.

<comment><USER12> Based on your perspective, what can the company do to either prevent hitting the iceberg, or minimizing the iceberg damage as much as possible?

<comment><USER31> I don't think there is anything that can be done, honestly. There are reasons for the current way of decision making: keeping the people in power who have been in power since the beginning. If the way of work changes, then also the leadership will change. And the current leadership isn't that fond of such ideas.

I'll keep an eye on how well behemots like Microsoft or Saudi Arabia can really change under new leadership and build my hope on what I'm seeing there.

</comment></comment></comment><comment><USER32> As much maligned as COMPAQ's acquisition of DEC was, you have to remember that DEC's enterprise side was still printing cash to the tune of something like a billion dollars a year.

Intel, for example, ran _every single fab line_ on VMS at the time. There were other customers with similar requirements and monetary outlays when they needed something _reliable_.

Considering this, you have a business that you can simply milk for cash profit for 10-20 years as it slowly winds down.

The fact that HP couldn't figure this out is a _gigantic_ failure of management at the board and CEO level.

</comment><comment><USER33> My HP Zbook at work is the worst laptop I've ever used.

Most of the time, telling it to shut down doesn't do anything except kick you back to the login screen (seems like a bug with ACPI, not Windows).

Behavior with the Thunderbolt dock is abysmal. Simply plugging it in does not work. In order to get my monitors and peripherals working through the dock consistently, I have to boot the machine while disconnected, log in to Windows, put the machine to sleep, connect the dock, then power it back on using the power button on the dock.

The fans run loud enough wile idling that I have to keep this thing tucked under my desk so that it's not blasting in my left ear.

HP didn't fall because of bad luck, or failing to adapt to a changing market. HP fell because they make worthless crap.

</comment><comment><USER34> Perhaps HP's biggest sin is how they ditched their super-cool, PA-RISC high quality workstations and servers, how they charged premiums for the hardware and the software, how one couldn't get HP-UX, its compilers or even the mirroring software unless one was an approved HP "strategic partner"... while a busted-ass, barely good enough, cheap, intel-based PC tin bucket was eating their lunch.

<comment><USER35> The interesting thing is that a single executive had a large share in killing both HP and SGI as major players. Richard Belluzzo was the guy who decided that HP should switch from HP UX on PA-RISC to Windows NT on Itanium, and then moved to SGI to preside over the decision to turn SGI into a Windows reseller and gave the SGI 3D graphics team — which at the time had a legendary reputation — to nVidia along with their patent portfolio.

<comment><USER17> WOW. I did not know this. And now NVidia is far more than a "gaming" company.

<comment><USER35> Yeah, there's a really interesting alternative history of computing where SGI's management was anywhere near the same caliber as their engineering.

<comment><USER34> SGI engineers designed and implemented mind-blowing stuff: inst(1M) software management subsystem is still lightyears ahead of any other, even today, and how long has IRIX been out of production?

Unbelievably mind blowing engineers.

</comment></comment></comment></comment></comment><comment><USER36> The Mercury and other software acquisitions were so poorly handled. There was solid software there, plenty of good engineers and consultants, but R&D was underfunded. Sales turned into a revolving door, customer support had no training, and partners (who actually understood the products, customers, and had the expertise) were mistrusted. Sad all the way around.

</comment><comment><USER37> It seems simple enough to me.

Over time, these hardware companies grow or die. Their products have to get cheaper, hopefully due to economy of scale. Company management never wants to kill the old products with new ones, plus it's pretty hard to guess exactly where to go.

Everyone eventually falls off the treadmill.

Years later, of course, management has amazing 20/20 hindsight.

</comment><comment><USER17> I've worked for successful software start ups, and I've worked for Hewlett Packard.

Here's what I noticed:

In the startup that I worked for (BladeLogic), we started small and we grew organically. Many of our early customers were very small, but eventually we grew big enough to sell thousands of licenses to companies like Target and Bank of America.

By growing organically, it gave us an opportunity to improve the software without 'sinking the ship.'

IE, if you sell fifty thousand licenses to a company like Target, you better have your software sorted out before they sign the contract.

At Hewlett Packard, we didn't start small at all. From day one, we were doing huge deals, and selling software that was just months old. If I had it my way, I would've started off slowly, worked out the bugs, and then followed with a wide release to the big customers.

<comment><USER38> I've seen the same thing. Here is my take on it:

Everybody at [Big Software Co] knows the software is buggy and bad, but the client doesn't, [Big Software Co] just hopes it works well enough that the client doesn't reject it outright or refuse to pay.

While [Big Software Co] works out the kinks in it's software at the clients expense it blames the failures on implementation problems user error or whatever it can to keep money coming in while it fixes the software. [Big Software Co] hopes that the client eventually sinks so much money into the software that they can't leave and also X months into the deployment it works just well enough to keep them on the hook.

This pattern repeats over and over and over again in almost every industry. You see this same type of thing in construction too, where [Big Construction Co] deliberately underbids to get the contract, then runs up the cost WAY beyond what anybody expected over time, the municipality, or whomever contracted with them can't leave as they've already sunk so much money into [Big construction project] that they can't cancel and have nothing to show for it.

This is almost SOP for every giant company in every industry anywhere, often times these companies are so big that the left hand doesn't even know what the right hand is doing so to speak, as the two are separated by so many internal layers / business units or whatever.

The only reason people get into bed with these giant companies is that whoever is signing the cheques on the buy side irrationally feels that [Big Software Co] can actually deliver _because_ they are so big.

</comment></comment><comment><USER39> A current anecdote that somewhat echoes the article:

My wife has an HP Chromebook. She loves it.

She has no idea that it's made by HP. If I told her she would probably forget.

Now she wants to replace it with a newer, high end Chromebook. It might be an HP, or it might not, but either way she doesn't care.

</comment><comment><USER40> I was always surprised they let Microsoft come in and commoditise their business, why wasn't there an HP operating system to compete with Windows?

<comment><USER41> There was WebOS. Which I felt was really ahead of its time. But an OS takes time to develop because of the chicken and egg problem. Once Hurd was fired it no longer had C-level interest. They sold it to Samsung, who renamed it Tizen. The UX designer went to Android. And the engineers were scattered across the mobile ecosystem.

<comment><USER42> I agree that WebOS was great and ahead of it's time, and agree with almost all of the above.

But just for clarity: HP sold webOS to LG (not Samsung), and it (mostly) kept it's webOS name through various aquisitions and rebrandings. See [http://www.lg.com/us/experience-tvs/smart-tv- features](http://www.lg.com/us/experience-tvs/smart-tv-features) and [https://en.wikipedia.org/wiki/WebOS#History](https://en.wikipedia.org/wiki/WebOS#History)

Samsung's Tizen is it's own thing -- not some acquisition or rebranding of webOS.

<comment><USER41> Wow it didn't realize that and you are correct. Was using a SmartTV and the interface felt awefully close to WebOS that I thought it was a derivative.

</comment></comment></comment></comment><comment><USER43> Love their business laptops, good and reliable machines.

<comment><USER44> As well as a live fleet of about 30 units, we have about 5 HP Probooks at work in different states of dismantlement; they fell apart or broke in various mechanical ways and are cannibalised to sustain the working ones. In my previous role we were a Dell shop and the XPS laptops were much more reliable by comparison.

<comment><USER45> They've been building laptops with failure prone fans since I bought one with Windows ME on it 15-16 years ago. Other manufacturers don't seem to have this problem.

</comment></comment></comment><comment><USER46> Along with board and ceo problems, the they were fighting a battle on two fronts for computer sales. The kush high end server market was undercut by the rise of linux while they floundered with Intel on IA64. All the other proprietary unixes fell in this time too. Meanwhile Dell was undercutting them for consumer PC sales.

</comment><comment> mark-r My introduction to programming was around 1973, with a Teletype connected via modem to an HP 2000C minicomputer. I've always had a soft spot for HP.

</comment><comment><USER47> Typing this on a new HP EliteDesk (corporate shitbox) that came with a frigg'n chiclet keyboard. Yes a POS chiclet keyboard, with stickey keys, that probably cost $1 to manufacture. This is how far HP has sunk.

Fortunately my Unicomp keyboard will be here soon.

</comment><comment><USER48> I remember shortly after Compaq disaster, Carly Fiorina pioneered this initiative called "Adaptive Enterprise". She went on CNET to do an interview about it. The interviewer kept asking her to explain what "Adaptive Enterprise" meant and she danced around the question talking about synergies and such. That's when a lightbulb went up in my head "This woman is a Category 5 moron".

<comment><USER49> Her first husband said the only book she ever read was "Dress for Success"

<comment><USER50> So? Is reading books the only way to grow?

<comment><USER51> Not reading is certainly a yellow alert in my book (pun semi-intended). If not books, at least trade magazines & publications.

</comment></comment></comment></comment><comment><USER52> Does anyone know how to make the annoyingly large Medium top-bar, and "open in app" button (hovering over the article) on mobile go away without installing anything?

Edit: found one solution: [https://outline.com/SV3V7N](https://outline.com/SV3V7N)

<comment><USER53> Reader view in Firefox cleans up the Medium cruft nicely on mobile.

<comment><USER54> Likewise Safari's (mobile or not).</comment></comment></comment>


JobSyndicate Alpha Launch - <AUTHOR> http://startuply.com/Blog/?p=58

<comment><USER2> I think the large bounties are going to be very tempting to affiliates. Getting a check for $1,000 out of the blue will make anybody's day.

Great model. In fact, surprised someone hasn't tried this yet.

This may work especially well for tech specific blogs. (Assuming tech related positions.)

<comment><AUTHOR> We're definitely focused on tech, design/UX, and PM/startup marketing-focused blogs for now.

<comment><USER3> Neat...as a side note, what are some prominent design/UX and PM type blogs? I have searched around and not found too many, especially those directed towards PMs. (For design/UX I am aware of Usability Post, Signal vs. Noise, and Functioning Form).

<comment><AUTHOR> As you pointed out, Usability Post is one of my favorites, and SvN is clearly a leader.

Boxes and Arrows (<http://www.boxesandarrows.com/>) is also pretty rad.

I keep an eye on Subtraction (<http://subtraction.com/>), Khoi Vihn's mostly personal blog, too. He's the interaction designer for NYTimes, second to none...other than our own Loc Ngo, of course.

</comment></comment></comment></comment><comment><USER4> Well, I just "applied" my blog but I'll repeat the part of that email that matters the most: I'm a big believer in the concept.

Job boards are, by far, the best way to monetize professional traffic to a particular niche blog. (Well, the second best way. The best way is to push the product you also happening to be selling.) And the cursory research I did in this area a while back showed a glaring hole in distributed job board networks.

I think you guys have found a real sweet spot. I wish you guys the best.

</comment><comment><USER5> Congrats on the alpha launch!

<comment><AUTHOR> thanks!

</comment></comment><comment><USER6> _"... JobSyndicate is our way of getting jobs in front great candidates where they already live online. We can get targeted distribution for jobs by combining our ad widget technology with contingency recruiting "bounties. ..."_

Read this line out loud. Needs a bit of editing.

<comment><AUTHOR> suggestions? could be simpler, will play around with it.

<comment><USER6> Since it's Alpha you can get away with alpha explanations but as more and more ppl use it explanations might have to be "pitched around the office" and get them to "say" what JS is doing then write them down. I'm crappy at writing at the best of times but my stab would be:

FROM

      JobSyndicate is our way of getting jobs
      in front great candidates where they already
      live online.

      We can get targeted distribution for jobs
      by combining our ad widget technology
      with contingency recruiting "bounties.

TO

      JobSyndicate is an online service that
      matches the best candidate to their
      geographic location.

      JobSyndicate acheives targeted distribution
      for jobs using a combination of our "Ad widget"
      technology and "recruiting bounties".

Replace the quotes with hyperlinks (and bold typeface) for "Ad widget" and "recruiting bounties".

<comment><AUTHOR> [geotargeting isn't live yet, but it's coming, btw]

The idea of "putting jobs in front of candidates where they live online" is a fairly explicit pitch to HR managers & internal recruiters. HR folks are used to distinguishing between "active" and "passive" candidates. Active job seekers will, for example, apply to jobs at sites like Startuply and Craigslist (um in that order). Passive candidates - who are often the best - don't go job hunting, usually because they don't need to. JobSyndicate is for getting jobs to them without really changing their behavior; it's a premium service.

For pitching around the office, I'd say that JS is kind of like an inverted job board. Employers post a job once, it syndicates everywhere, and they pay only for results.

A pretty sweet startup CEO I spoke with also came up with the (very) unofficial elevator pitch analogy: it's like Adult Friend Finder for jobs.

</comment></comment></comment></comment><comment><USER7> how are you keeping people honest? How does your system know that someone was hired and its time to charge?

<comment><AUTHOR> Great question.

People will always try to abuse a system, especially when there's a monetary incentive to do so. We manage fraud risk with a portfolio of approaches that includes building real relationships, designing good automated signals/indicators, monitoring the network closely, and having strong TOS + great lawyers.

</comment></comment><comment><USER8> Shout out to Loc and Ben too. How are you three doing?

<comment><AUTHOR> ben and loc are holding down the east bay; I'm all lonely over in SF. ;)

</comment></comment><comment><USER9> Congrats guys!This is looking great

</comment><comment><USER10> I was just thinking about you guys recently wondering what the status of your startup was.

<comment><AUTHOR> alive and kicking

</comment></comment><comment><USER11> So how much nudging do we have to do to get an alpha account? _nudge nudge_

</comment><comment><USER12> Looks great! Is there going to be a public database of all job postings?

<comment><AUTHOR> I think a central repository of the jobs would compete too directly with our affiliates. We want to get _them_ paid.

We also don't want to rebuild the [startuply] wheel with another destination site - JobSyndicate is about distribution.</comment></comment>


Ask HN: Byod (multiplatform I.os-Android- ) remote monitoring for teacher? - <AUTHOR>

Hi everyone, in the school I work we are developing a BYOD project, students are use to come to school with their own devices...Do you know any teacher remote control/monitoring software or app or ... that works with the different devices (Ios, Android, ...)?       I mean it's not just about "control" we would like to find something that can allow the teacher to see what the students are doing and maybe share it with the whole class...any idea? Thanks!! <comment><USER2> -well that's not easy, in my school we didn't solve it yet. BYOD offers lots of possibilities but it quite difficult to have a good "control" even more if you don't want to spend lots of money for a software. Still waiting for a solution...</comment>


Amazon warehouses are 'cult-like' sweatshops run by robots: ex-employee - <AUTHOR> https://nypost.com/2019/11/30/amazon-warehouses-are-cult-like-sweatshops-run-by-robots-ex-employee/ <comment><USER2> This feels like an overly negative article. Maybe it's just me, but it seems like the author was unhappy with some pretty innocent things - stretching, being instructed how to bend in a way that doesn't do long-term damage, having managers that emphasized staying hydrated, having to wear gloves to handle the merchandise. Other things seem like the normal shitty reality of manual labor jobs - she complains that her 1 month on the job crippled her, but I didn't really understand how it's worse than any other manual labor job.

I'm sure there's some valid problems in there, but she's so hyperbolic that it's hard to tell what is and is not worth listening to.

> I soon learned that only difference between an Amazon warehouse and a third- > world sweatshop were the robots

I'm going to guess she's never actually seen a third-world sweatshop.

</comment><comment><USER3> Article is ruined by sensationalism, but I'd expect no less from the NY Post. It is a shame because I am sure there are real issues with Amazon warehouses, but choosing an employee who took a job they are not physically capable of doing and then focusing on her really detracts from the story.

Complaining about the cult-like "great place to work" brainwashing? Welcome to all of corporate America...

<comment><USER4> The point of the article seems to be to warn people that they are not physically capable of doing these things and to explain the human toll of a job like this.

Why so sensitive to Amazon?

<comment><USER5> Because people work day and day out shitty doing shitty manual labour without people even noticing them. Having worked there fur very long the whole article is just big whining, for some reason Amazon warehouses is a popular subject.

<comment><USER4> And those people deserve to be treated with respect and dignity too.

<comment><USER6> We do get treated with dignity and respect. In my FC I have never felt like i wasnt. I have great relationships with all my associates. I feel like some many news articles go for negative attention and Amazon is an easy target for people to report on and get lots of attention.

</comment></comment></comment></comment></comment><comment><USER7> Picking and placing items into these cubbies at a rate of 12/minute for 10 hours... tracking performance down to the individual item placed... Obviously this is not really a job fit for for a human.

How long until robots can reliably do the stowing for the majority of items?

Or to alter the problem, why not require packaging to conform to certain standards such that robots can do the job today?

$16/hr - let's say $24/hr fully loaded - placing 600 items in a hour would be a marginal cost for this stocking task of $0.04/item.

If Amazon was willing to tolerate $0.05/item for this particular task along the pipeline, that would translate to 8/minute items shelved instead of 10/min. $0.06/item comes out to 6.66/min (again assuming a fully loaded cost of $24/hr).

Adding just $0.02 of packaging obviously cannot eliminate this job, so automation which required certain packaging would be quite wasteful.

What I don't quite understand is why the job has to be so breakneck. I wonder if they are limited by the number of humans who can be in the plant at once, meaning it's not a question of hiring more humans. Or perhaps part of the issue with breaks is if they are limited by law to how many _unpaid_ breaks an hourly worker can take? Otherwise I can't see why they would care about breaks as long as their algorithm can capacity plan by adjusting for your average break-rate.

The only reasonable explanation is they have an expensive asset (their fulfillment plant) where the humans are the gating factor to the total output (deliveries) and an equation where at some point adding more humans actually decreases total output.

None of this is to excuse creating a system which requires humans to perform tasks in this manner though.

Amazon ships ~600 million packages per year, so assuming a human touches each item 10 times on the way in and out, spending an extra $0.10/package makes those human's jobs significantly more tolerable, that's only $60 million on Net Income of $10 billion...

But again that calculation only works if shipment volume can be maintained with more humans doing slightly less work each. If shipment volume falls a corresponding amount because stocking goes from 12/min -> 10/min (16.66%) then Amazon loses an extraordinary amount of money.

<comment><USER8> >What I don't quite understand is why the job has to be so breakneck.

The faster stowers, counters and pickers work, the more money Amazon makes and the faster Amazon makes it.

It's as simple as that.

</comment></comment><comment><USER6> So I work at an Amazon fulfillment center and I experience is really different. I can go to the bathroom when ever I need and get 2 thirty min breaks one of which is paid. We have fans in the FC the only time i ever get spoken to about going to the bath room is when i make a conscious decision to talk to my friends at other at stations and I take for ever to get to my station. I dont know how other FCs operate but not of this article resonates with me...

</comment><comment><USER9> Its weird how amazon receives more hate from the media than china which utilizes actual slave labor on a mass production basis.</comment>


GitHub to replace the term "master" with "main" - <AUTHOR> https://www.theregister.com/2020/06/15/github_replaces_master_with_main/ <comment><USER2> I wonder what name are universities going to choose to replace master's degrees.</comment>


Neil Harbisson: world's first cyborg - <AUTHOR> https://en.wikipedia.org/wiki/Neil_Harbisson <comment><AUTHOR> Funny enough, I lived in Mataró for a while and didn't know about him.

I am also colour blind (I just confuse some colours, thought). I saw him tell with absolute pitch, tell colour/note associations, including in which colour a dog was barking.</comment>


YC Applicants in San Francisco: Want to meet up? - <AUTHOR>

YC Applicants or YC Backed Startups: Anyone in or near San Francisco want to meetup to share experiences? I propose meeting up at Coffeebar in San Francisco at 3pm on Saturday, 11/15. Please shoot me an email to let me know if you can make it (see about.me page on profile). <comment><USER2> Hello, I am Vijay, CEO of www.buydealz.com we can share our experience

</comment><comment><USER3> Are you suggesting 11/15 i.e today at 3pm or Saturday 11/17 at 3pm?

</comment><comment><USER2> Can you please confirm the date</comment>


The Cisco in the Coal Mine - <AUTHOR> http://blogs.forbes.com/mikemalone/2010/11/15/the-cisco-in-the-coal-mine/

<comment><USER2> Of course, maybe it's a different situation. For example, I know people that have recently switched out all their Cisco gear for Extreme. I think a better indicator would be to look at the earnings of the top five switch makers.

</comment><comment><USER3> On the other hand, it's not 2001 anymore. Perhaps there are other reasons that router sales have stalled? People are putting it off until they have to do a move to IPv6?

<comment><USER4> Cisco sells way more than just routers these days, perhaps as part of their hedge strategy after 2001. Mostly through acquisitions maybe, but it's still impressive. Examples that come to mind include Linksys (home networking), Scientific Atlanta (cable TV & broadband gear), WebEx, and Tandberg (video conferencing).

The list: [http://www.cisco.com/web/about/doing_business/corporate_deve...](http://www.cisco.com/web/about/doing_business/corporate_development/acquisitions/ac_year/about_cisco_acquisition_years_list.html)

<comment><USER5> Enterprise routers and switches are still Cisco's bread and butter; sales in software and consumer products can hardly be enough to compensate for a downward trend that may only exist because people aren't buying as many CRS boxes.

</comment></comment></comment><comment><USER6> I worked at Cisco from 1999-2006 and 2001 was very scary. John seemed visibly shaken when he addressed the company in January 2001. The folks who didn't lose their jobs worried they would be next and many of us had most of our net worth tied up in CSCO (which declined precipitously). My team and I were laid off before the new matrix re-org, so I cannot say if it's been successful or not. But I still follow Cisco as John's public statements are a pretty good bellwether for the tech hardware industry.

</comment><comment><USER7> Scenario 4: someone is eating Cisco's lunch. Anybody seen any evidence of this?

<comment><USER8> Perhaps it's from companies renting cloud computing resources instead of building and refreshing their datacenters?

Seriously. A coalmine canary isn't much use if you put a snake in the cage with it.

</comment></comment><comment><USER9> We might not see a lot of economic growth next year? Stop the presses!

<comment><USER10> That's not what he said. He was saying that we may be looking at a double-dip recession in an economic climate where that could spell catastrophe.</comment></comment>


Unicode date formats, YYYY? - <AUTHOR> http://boredzo.org/blog/archives/2015-10-24/the-international-standards-organization-hates-your-guts <comment><USER2> If you're curious about ISO week dates, there is a nice Wikipedia article on it that explains what is going on a little more clearly.

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

</comment><comment><USER3> WTF, who designed that format? That's like having a gun where the muzzle points backwards if you forget a step assembling it.

<comment><USER4> Two things:

* As rdancer mentions, you must _always_ fully understand printf-style format options before you use them. To do otherwise invites disaster.

* What would you have chosen for the four-digit-calendar-year format specifier and the four-digit-week-of-year format specifier?

Edit: Notice also that you can add more "y" or "Y" characters to get greater precision, so the existing format specifiers _already_ solve the Y10K problem.

<comment><USER5> I agree with everything you said and don't think this format is bad at all, but regarding your "Y10K problem" note, I actually prefer PHP date format, that is "Y/y" instead of "yyyy/yy".

First of, I'm sure you need year far more often than "week year", so the less intuitive encoding for the latter is acceptable and I have to admit that confusing letter case is pretty easy when the result is identical for most of the time (so simple "run it, see if it works" won't help, and that's exactly how everybody does programming).

Second, I don't imagine I'll ever want to display last three symbols of the year instead of the full year, and I most of the time don't want to get "0476" instead of "476" — and if I do, I'm actually OK with post-processing for these special occasions. The only thing I actually want is _full_ year format (whatever long it is) or, rarely, _short_ (2-letter) year format (which I actually think is stupid and never use it except somebody specifically asks me to). So while I'm absolutely clear with what "Y/y" does, I have no idea what 'yyy' would do for 4-digit long year or what 'yyyy' would do for 3 or 5 digit long year for that matter.

</comment></comment></comment><comment><USER6> Unicode date formats can be used in PHP via `ext/intl`, the ICU wrapper library;

        $ php -r 'date_default_timezone_set("Etc/UTC"); $x = new IntlDateFormatter("en_GB", 0, 0); $x->setPattern("yyyy"); echo $x->format(time());'</comment>


Show HN: Tt – a Python library/cli for Boolean expressions - <AUTHOR> https://github.com/welchbj/tt <comment><USER2> I wrote this in a few lines of TXR Lisp as just an answer to a SO question:

[http://stackoverflow.com/a/34377302/1250772](http://stackoverflow.com/a/34377302/1250772)

All code is in the answer. Parsing the infix, and generating the "pretty" truth table over all variables.

An easy-to use declarative mechanism is there for defining operators on multiple precedence levels with different arities. (All you do is instantiate an object with _new_ for each supported operator). Operators either have names that denote existing functions in TXR Lisp, or for any that are not existing Boolean functions, you just define the function (like I did for _- >_).

</comment><comment><USER3> IMHO [[[https://en.wikipedia.org/wiki/S-expression][Symbolic](https://en.wikipedia.org/wiki/S-expression\]\[Symbolic) Expressions]] are... infinitely better.

Example: '(iff (not (and (P 1) (P 2))) (or (not (P 1)) (not (P 2))) )

<comment><AUTHOR> It actually would not be too hard to add a separate parser for S-expressions; this would allow the existing "backend" tooling (converting to postfix, generating trees, filling tables, etc.) to be used unchanged. I actually think this would be a really powerful feature to add; thanks for the idea!

<comment><USER3>
      I forgot to mention SMT-LIB[1] and pySMT[2].  I don't want to say their are optimal, I just think You might find it interesting.

      I think it would be even better with Curryed[0] Functions.  As an example ``'(f a1 a2)'' is just a Syntactic Sugar for ``'((f a1) a2)''.

      Don't forget something like `help' in Python :) .

[0]: [https://en.wikipedia.org/wiki/Currying](https://en.wikipedia.org/wiki/Currying) [1]: [http://www.smtlib.org/](http://www.smtlib.org/) [2]: [https://github.com/pysmt/pysmt](https://github.com/pysmt/pysmt)

</comment></comment></comment><comment><USER4> Hi, where can I see a list of all the operators that are supported? I tried "A nor B" on the web interface to try to make it break and was surprised that it worked :)

<comment><AUTHOR> Hi, thanks for taking the time to try it out. The operators can be found in the documentation at: [http://tt.bwel.ch/en/latest/api/definitions.html#tt.definiti...](http://tt.bwel.ch/en/latest/api/definitions.html#tt.definitions.operators.OPERATOR_MAPPING)

Admittedly, this is poorly formatted and I'm working on cleaning that up. The definition in the code is a little easier to read and can be found here: [https://github.com/welchbj/tt/blob/develop/tt/definitions/op...](https://github.com/welchbj/tt/blob/develop/tt/definitions/operators.py#L138)

</comment></comment><comment><USER5> What does "tt" stand for?

</comment><comment><USER6> Does it support outputting in LaTeX?

<comment><AUTHOR> No, however that is a great idea I had not thought of before that I will add to the roadmap. In the meantime, if you need a somewhat-nicer looking output format, I have a basic web interface setup at [http://tt- web.bwel.ch/](http://tt-web.bwel.ch/)

<comment><USER6> Might be worth supporting a few different table markup formats. Pandoc has some common ones in it's documentation.

[http://pandoc.org/MANUAL.html#tables](http://pandoc.org/MANUAL.html#tables)

Really interesting project though, I'll have to bookmark that web interface.

<comment><AUTHOR> Thank you, I appreciate you taking the time to check out the project and point me towards pandoc. It looks like a great starting point for expanding into new output formats.</comment></comment></comment></comment>


Disentanglement – simple things made complex - <AUTHOR> https://kirstenhacker.wordpress.com/2020/01/18/disentanglement-2/ <comment><AUTHOR> Since this is hackernews, maybe this is the right place for this question:

Yesterday evening, someone deleted two posts from my WordPress blog. I assume that it was a hacker who didn't appreciate my apostatic criticism of the scientific community.

The two posts (out of 160) included an early version of this one and another post that once circulated widely on Twitter ([https://kirstenhacker.wordpress.com/2019/09/29/the-walrus- an...](https://kirstenhacker.wordpress.com/2019/09/29/the-walrus-and-the- carpenter/))

They included some of my sharper criticisms and they established my credibility as someone who studied these systems for years as a community insider.

I, of course, back up my work offline, and I immediately changed my WordPress password and disconnected my computer from the internet because I didn't know if they had just hacked my WordPress account or my computer. Yet, this morning, I am back online with my computer (I only have one) and am wondering what I should do. So far, I'm only planning to install windows updates and restart.

<comment><AUTHOR> I'm even more confused this morning, because the files were still missing from the WordPress editor this morning for the first hour, and now they are back. Does that mean that there is still a hacker in my computer or that the hacker undid the changes that he made to try to cover his tracks and the system was just slow to update?</comment></comment>


Pledge to master coding or mentor another developer - <AUTHOR> https://hackpledge.org/

<comment><USER2> This is such a nice initiative. Too bad it didn't get more traction here to get to the front page.

<comment><USER3> You know, there's still no reason that it can't get to page 1. That would certainly give it the traction it needs.</comment></comment>


The poker player who shut himself in a pitch-black room for weeks for $100K - <AUTHOR> https://www.theguardian.com/sport/2019/jan/10/rich-alati-poker-player-bet-dark-room-isolation <comment><USER2> this is over a year old and has been posted here a few times.

is there something new about this story we missed?

<comment><AUTHOR> Never seen it before today, found it interesting.</comment></comment>


GRE Scores by Intended Graduate Major - <AUTHOR> http://www.ncsu.edu/chass/philo/GRE%20Scores%20by%20Intended%20Graduate%20Major.htm <comment><USER2> The 2011 version lists Math as the highest scoring major in the Math portion of the GRE,followed by Physics.</comment>


Why you should never use the term "the mentally ill" - <AUTHOR> http://www.eurekalert.org/pub_releases/2016-01/osu-wys012616.php <comment><AUTHOR> I'm never sure how good / bad these kinds of studies are. (Probably not great.) And it aligns with the way I want things to be, so I'm uncritical of it.</comment>


A Preview of Bristlecone, Google's New Quantum Processor - <AUTHOR> https://research.googleblog.com/2018/03/a-preview-of-bristlecone-googles-new.html <comment><USER2> I had no idea we had already progressed so far on the path of quantum computing to the degree that we have mostly functioning processors on the order of 10^2 qubits. I know that's not a huge number, but I had thought previously that this was more the realm of science fiction.

If Moore's Law or similar applies at all to quantum computing then that puts us in the realm "Useful error corrected QC", as stated in the article, in or around year 2045, or 27 years from now.

Near-term specific applications may be found even sooner, in less than 10 years.</comment>


Flourish - a nifty drop-in multi-purpose library for PHP - <AUTHOR> http://flourishlib.com/

<comment><USER2> Used this in a project recently and really liked it. Great for glue guys.</comment>


Hopping Through Time with Ursula K. Le Guin - <AUTHOR> http://www.huffingtonpost.com/entry/ursula-k-le-guin-on-amazon-and-the-limitations-of-dystopia_55df771ee4b0b7a963386367

<comment><USER2> I love some of Le Guin's works, although I found that some are much better than others. I would definitely recommend reading The Left Hand Of Darkness, I think it stands out among her best.

The follow-up, The Dispossessed, I thought was much weaker and less interesting and in fact I couldn't even finish it, which was odd given how much I loved Darkness. But in general she's a more intelligent, perceptive, engaging and literary writer than many of her (usually male) science fiction counterparts, whose work is often barely readable (flimsy characters, lousy dialogue) or is reminiscent of what you'd expect if you asked a teenage boy to write the plot to a science fiction action movie (e.g. much of Neal Stephenson's work).

I read The Telling quite recently and enjoyed it as well. The Earthsea fantasy series is also excellent.

<comment><USER3> The Dispossessed is one of my favorite books; different strokes, and all that.

I thought her recent book Lavinia was superb.

<comment><USER2> > The Dispossessed is one of my favorite books; different strokes, and all > that.

Interesting. Did you like The Left Hand Of Darkness as well? How do you feel they compare?

I will check out Lavinia - thanks for the reco.

<comment><USER4> The Dispossessed has always been one of my favorites, and I was incredibly disappointed when I read LHoD! I found LHoD sort of boring. So much focus on this gender-bending stuff which I found pointless... I actually thought there was a lot in there that was downright mysogenistic. In fact, I made a list of quotes a few years ago when I read it. These are mostly said by the narrator, who's supposed to come from some elevated society where they've got everything figured out. I've been waiting for someone to explain to me how exactly U. K. LG is a feminist, maybe the article above will help, going to read now. Here's that list... please read: [http://files.aaroncurt.is/lhodGender.txt](http://files.aaroncurt.is/lhodGender.txt)

<comment><USER3> Genly Ai, the book's narrator, is pretty sexist and arrogant. He is repulsed and confused by the way gender works on the planet. He observes what he sees like an anthropologist from an "enlightened" Earth society, comparing their folkways to his own and finding them insufficient. The other Hainish Cycle books make it pretty clear that the Ekumen is not a utopia, and Genly's faith in it is naive. By the end, Genly has a deeper understanding of Gethenian society, contrasted with his earlier arrogance.

</comment></comment></comment></comment></comment><comment><USER5> As a young man, Wizard of Earthsea was my favorite book, and it remains one of my all-time favorite series. Focus on language, toying with both fantasy and coming-of-age tropes, and mortality as something to be fought and, ultimately accepted and perhaps desired. It's truly great.

<comment><USER6> Wizard of Earthesea always stuck out to me as one of the few coming of age stories in which the main character severely fucks up. He makes a HUGE mistake, owns up to it, and deals with it. Nobody kisses his wound and makes it better, he betters himself. It's a story about bootstrapping life and dealing with your problems head on, I've never read another big story that deals with that idea. The base conflict in the book is Ged's fault and nobody elses.

<comment><USER5> She keeps at it in the later books. Ged's end of life is the polar opposite of wish fulfillment fantasy, and meaningful in its own right.

</comment></comment></comment><comment><USER7> "After all, she was raised on the hard sci-fi of male physicists and engineers."

Not completely so! As usual in articles like these there's no mention of James Tiptree Jr. ([https://en.wikipedia.org/wiki/James_Tiptree,_Jr.](https://en.wikipedia.org/wiki/James_Tiptree,_Jr.)) who contributed immensely to the genre of using sf as a lens to investigate feminism, gender, and related issues. Unfortunately she's largely forgotten now. It's interesting that Le Guin doesn't mention her more often, since it's fairly obvious from their letters that they influenced each other very much.

I always wonder what would have happened if Sheldon had not succumbed to depression and lived as long as Le Guin has, perhaps she would be as/more famous.

If you have not done so, please read the stories _The Screwfly Solution_ , _Houston, Houston Do You Read_ and (my personal favorite) _Love is the Plan the Plan is Death_ ([http://www.lightspeedmagazine.com/fiction/love-is-the- plan-t...](http://www.lightspeedmagazine.com/fiction/love-is-the-plan-the- plan-is-death/)). They will stay with you for a long time.

(from _The Double Life of Alice Sheldon_ , [http://www.tangentonline.com/articles- columnsmenu-284/1094-j...](http://www.tangentonline.com/articles- columnsmenu-284/1094-james-tiptree-jr-the-double-life-of-alice-b-sheldon-by- julie-phillips))

Excerpts of the letters show two women, whose work has had a major influence in science fiction, facing great challenges. Le Guin moved forward, with purpose and determination, and demonstrated that being a woman, wife, and mother didn't mean she couldn't make major contributions to culture and to literature. And Sheldon rocketed towards the brink, churning out autobiographical work such as "Painwise," "Love Is the Plan the Plan is Death," and "The Women Men Don't See."

After her secret was revealed in 1976, ending a run of nearly nine years, Tiptree wrote to Le Guin:

"Ursula, Ursula, I am petrified. All the friends, the sf world—will they take it as deception? […]Will the women who mean so much to me see it all as an evil put on? […] Well dear Starbear an old age is dead and time to begin a new one. But I think I'm finished. Tip says goodbye to a very dear friend and all this is hers." Le Guin responded:

"oh strange, most strange, most wonderful, beautiful, improbable—Wie geht's, Schwesterlein? sorella mia, sistersoul! […]I suppose there are some who resent being put on, but it would take an extraordinarily small soul to resent so immense, so funny, so effective and fantastic, and ETHICAL, a put on."

<comment><USER8> "Love is the Plan the Plan is Death" is one of my absolute favorite science fiction stories. "The Screwfly Solution" is along the same themes but harder to take in IMO because you're less emotionally distanced from it. Tiptree was definitely one of the best SF writers of her generation.

</comment></comment><comment><USER9> "Most important skill to be a writer: Commitment". Same for composing, same also true for entrepreneurship.</comment>


Thinking Outside the Company's Box - <AUTHOR> http://www.nytimes.com/2008/03/30/business/30ping.html?ex=1364529600&en=7457df4ab6e27676&ei=5090&partner=rssuserland&emc=rss&pagewanted=all

<comment><USER2> people definitely need to think different!</comment>


2012 MacBook Air i7 slower than i5 in Windows (Boot Camp) - <AUTHOR>

The new 2012 i7-3667U MacBook Air's are incorrectly clocked in Windows under Boot Camp. Rather than running at a x20 multiplier (2GHz) they run at x19 (1.9GHz) and never go into Turbo Mode and rarely drop down to lower multipliers/clock-speeds. As a result under Windows they are slower than the much cheaper i5 and also sip more energy due to not dropping down to lower speeds.<p>More here: http://forums.macrumors.com/showthread.php?t=1394206 and here: https://discussions.apple.com/thread/4035733?start=0&tstart=0 <comment><USER2> A possible work around is to run your Windows OS in a virtual machine instead of bootcamp. With the new Air taking 16GB of RAM you can probably afford to have both OSs running at once.

As long as you're booting into OSx the CPU should clock and turbo boost properly. It might be a wash due to overhead of the VM and OSx background tasks though...

<comment><USER3> The new Air maxes out at 8GB[1]. It's the Retina MBP that maxes out at 16GB.

[1] I have the i7 model, and absolutely love it. It replaced a mid-2009 15" MBP for me. I would've gotten an Air much sooner but absolutely need 8GB RAM. If 16 had been available for it, I would have gotten that instead.

<comment><USER4> Right, but s/16GB/8GB/g and the point still stands. People often prefer Boot Camp for reasons other than available RAM, however.

As an aside, one point often overlooked when comparing the perceived performance of the new Air to older models is that all the 2012 MacBooks use noticeably faster SSDs than older Apple-installed options — for this reason, my "stock" Ivy Bridge Air (11-inch Mid 2012, 4GB RAM, 128GB SSD, 1.7GHz dual- core i5, integrated graphics) seems faster for many tasks than my "loaded" Sandy Bridge MacBook Pro (17-inch Early 2011, 8GB RAM, 500GB SSD, 2.2GHz quad- core i7, discrete GPU).

</comment></comment></comment><comment><AUTHOR> <http://forums.macrumors.com/showthread.php?t=1394206> and [https://discussions.apple.com/thread/4035733?start=0&tst...](https://discussions.apple.com/thread/4035733?start=0&tstart=0)

</comment><comment><USER5> Interesting.. I was actually thinking of buying exactly this model.

Does anyone know if this is fixable with just a software/firmware update?

<comment><USER6> According to a forum-goer who reported it to Apple, they are aware Turbo Boost isn't properly being initialized during Windows boot and will be issuing a firmware update.</comment></comment>


Truckers sue California, say new gig economy law would kill 70k jobs - <AUTHOR> https://www.foxbusiness.com/money/truckers-sue-california-say-new-gig-economy-law-would-kill-70000-jobs <comment><USER2> This article is about a suit from The California Trucking Association, a trade group and industry lobbyist representing corporate management, not truckers. You can learn about them on their website if you're curious. The only source providing a statement in the body of this article is the association's head lobbyist. Background sources seem to include a politician and an academic institute. No truckers.

I don't have any comment about the suit or the law, but I do think this is fine opportunity to discuss the nature of propaganda.

<comment><USER3> Thank you! The Teamsters union (and locals), which actually represent truckers, supported AB5.

<comment><USER4> Ah yes, the teamsters... who will no longer have to compete with independents.

<comment><USER5> > Ah yes, the teamsters... who will no longer have to compete with > independents.

Not to overstate the obvious, but that's pretty much the entire point of unions: by working collectively, individuals aren't directly competing against each other, forcing management to pay higher wages, with the goal being that the wages paid are higher than any individual could make if the union didn't exist.

<comment><USER6> Thus avoiding a race to the bottom where truckers drive all day just to feed themselves and our insatiable desire for free shipping.

<comment><USER7> What if someone is perfectly happy to drive for $1 less than the union negotiated? Why would you use the force of government, police with guns, to keep them from selling their labor a dollar cheaper. Especially when they're perfectly happy to do so?

<comment><USER7> Always darkly humorous when people openly support using force to control how people sell their labor in a very strict sense, which is certainly kissing cousins with slavery.

<comment><USER6> Yeah, governments setting a market bottom is definitely similar to unpaid, forced labour.

</comment></comment></comment></comment></comment></comment></comment></comment><comment> crooked-v The loads hauled by these truckers aren't going to magically vanish because the employment laws have changed, which would strongly suggest there will be about the same number of jobs in the end, since the same amount of work still needs to be done.

> Many would have to abandon $150,000 investments in clean trucks

I read this as: truckers will no longer be expect to supply their own $150,000 trucks to get into the business.

> and the right to set their own schedules

I read this as: truckers will no longer be expected to "comply with the laws, wink wink" to meet impossible schedules in ways that legally aren't the contracting company's fault.

<comment><USER8> I'm in finished vehicle logistics, and I've worked directly with a wide variety of truckers, including three years in California. You are very right that the amount of cargo that needs to be moved will not change because of this law, but you are, in my opinion, wrong about everything else.

I don't want to stereotype truckers because it is a diverse group. But I will say that in my anecdotal experience, this is a job that tends to attract people who want to be left alone. These are people who value freedom and hard work above everything else and many of them will change careers or retire if they are forced to work for big corporations. The average trucker is 55 years old, and many of them will just sell their and retire if AB5 is not overturned.

Supplying a $150,000 truck is not at all a barrier to entry. There is a major shortage of truckers and employers are offering free training, big sign on bonuses, and high starting pay to attract talent. Walmart, which is certainly not known for paying its employees well, pays truckers an average of almost $88,000 per year--and Walmart supplies the truck. The people spending $150,000 on a truck are doing it because they want to, not because they have to. This is not a medallion situation.

As for your "wink wink" comment, ELD's have been mandated since the end of 2017, and even companies that are small enough to not legally be compelled to use one are often forced to comply due to customer contracts. (Shippers want the data the ELD provides to offer better ETAs to their customers.)

In my opinion, the most likely outcome of this law is that some truckers retire and sell their rigs to big corporations, some decide to work for big corporations, and prices go up for everyone who ships goods or buys shipped goods. Unless you're in asset based trucking and looking to expand, the chances are that AB5 is going to hurt you, not help you.

<comment><USER9> Note that if trucking prices do go up, the amount of cargo that gets moved _will_ go down.

<comment><USER10> No, not necessarily. Correlation is not causation and what not.

If trucking prices go up, companies might opt to move more cargo at the same time (same amount of moved cargo, but less trucks on the road) or they might simply eat the loss (if they're already making massive profits) or any number of alternatives.

If we were to take your argument into absurdity, the best thing to do would be to reduce trucking prices to $0, because then we would fundamentally move a lot more cargo, which would drive down prices across all of the US benefiting a lot more than just the small minority of truckers.

It's an overly simplistic way of looking at things that reminds me of the assumption that raising the minimum wage would cause the prices on everything to hike up by the same amount.

<comment><USER4> _absurdity, the best thing to do would be to reduce trucking prices to $0_

What is absurd about that? If we could wave a magic wand and reduce the _real_ transportation cost of goods to 0, it would have massive beneficial effects in the overall economy. In large part we're seeing the benefit of that in the macro due to the (formerly) falling cost of global shipping.

It's magical thinking that an increase in the cost of transport won't have some sort of negative effect on the economy.

<comment><USER10> This isn't an increase in the cost of _transport_ , this is an increase in the cost of _trucking_. There's a subtle but very important distinction there because the actual human cost of trucking (ie wages, healthcare etc) is likely much smaller than the costs of fuel, maintenance and many more externalities.

Yes, if you could magically teleport goods from one location to another, that would be fantastic for the economy and terrible for truckers. I think it's more magical thinking however to look at one statistic and assume that it would lead to doom and gloom, as many did when Seattle decided to change the minimum wage to $15.

That said, if we believe that reducing the cost of trucking at all costs is important to the economy: Why not just remove all worker protections? In fact, why not just not pay workers at all? We have plenty of prisoners that could be truck drivers.

We can kick out all of the high earning truck drivers being leeches on the economy by increasing the cost of transport and replace them with something far cheaper until automation comes along. That sounds like a good idea, yeah?

</comment></comment></comment></comment></comment></comment><comment><USER11> In our small town in very Northern California along the coast, the local paper, which is struggling to survive, having just been bought out of receivership, has decided to start delivering the paper via USPS to avoid this law's ramifications with the paper delivery router people.

So more jobs lost, thanks to legislation to protect a certain group of people.

Hazlitt would have recommended examining the law's merits prior to passage to see if it 1) Benefited only a group of people, not the whole, and 2) Did not help the whole in the long run (paraphrased).

<comment><USER12> Jobs lost? If the paper had failed I could see that jobs were lost, but changing from one delivery system to another doesn't seem to be jobs lost?

<comment><USER13> Increasing mail volume by one newspaper per household will not result in a comparable increase in mail carriers -- they're making the trips anyways.

<comment><USER14> Uh, he's taking about a paper route. Like a paper boy. Remember that video game, riding your bike up the diagonal street? So yeah, those jobs in that small town will end the same way they've ended in every town, with mail carriers

</comment></comment></comment></comment><comment><USER15> Pretty comical that it ended up being California regulation that would put truckers out of work instead of Silicon Valley automation.

<comment><USER16> What Silicon Valley companies have put workers out of a job since let's say 2000? Some of the old companies have like HP and Intel certainly made certain office work redundant and to an extent Oracle.

What does HN think?

<comment><USER17> They're working on it.

As a trucker, I have no problem with automation. No one has the right to any specific job or career.

<comment><USER16> So no companies with viable products. Drone trucks that follow a real driver are more realistic than fully automated trucks. Everything I've seen from Tesla to GM's cruise to the German luxury brands is just driver assist tech not self driving.

Im asking about any company since 2000 or mid 1990s that has put people out of jobs. Netflix nope, Alphabet nope, Facebook never.

Salesforce maybe some jobs.

Here's the SV 150 list.[1] Intel and HP killed paper pushing jobs that could be automated by computers. Adobe probably killed a lot of art departments.

[1] [https://www.mercurynews.com/2017/05/01/sv150-2017-ranking- of...](https://www.mercurynews.com/2017/05/01/sv150-2017-ranking-of-silicon- valleys-top-150-public-tech-companies/)

<comment><USER18> > Netflix

Blockbuster employees' jobs?

<comment><USER16> Ha! I just said to my wife, don't forget Netflix started as mail order DVDs and successfully pivoted to streaming.

At Blockbuster's height they employed 85k. The majority were high schoolers in my area.

</comment></comment></comment></comment></comment></comment><comment><USER19> This element of the law is an odd standard:

> performing work "outside the usual course of the hiring entity's business

That bans subcontracting, no? It's a common, long established practice in a lot of industries.

<comment><USER20> It doesn't _ban_ anything, it just says that certain types of people working in certain arrangements can't be deprived of employment benefits.

<comment><USER19> This is odd language. If you can only give work to employees then by definition it isn't subcontracting.

This would therefore appear to ban subcontracting, as that normally occurs within the same industry.

A sensible reply would have either said that I'm wrong, and normal subcontracting is not affected. Or you could have argued that subcontracting as described in this wiki is morally bad.

But instead you made neither point and appear to think I'm merely confused.

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

<comment><USER20> You can subcontract work to another firm, which has employees. Your contract is with the firm.

California believes that if you "subcontract" an individual to do the work your company is in the business of doing, you're not "subcontracting" with them at all, you're employing them.

That's not a ban on subcontracting. It's a ban on calling an employee a contractor.

<comment><USER19> Ok, that's more concrete. So, to give a specific example: a friend of mine runs a photography business. He's independently established in the trade.

Sometimes, he subcontracts for others when they have a job they can't fulfil on their own. At other time, he has subcontracted work out to other photographers. They are also independently established.

1\. This is banned by the California law?

2\. You approve of this restriction?

To be clear, these people aren't employees under the law in Canada, our jurisdiction. California seems to be _redefining_ the word "contractor".

<comment><USER21> This is easy enough to answer by looking at the provisions in the bill.

[https://iccoalition.org/top-news/california-dynamex- decision...](https://iccoalition.org/top-news/california-dynamex-decision- demonstrates-need-for-harmonization/)

> The Court adopted an "ABC" test for determining "employee" status for > purposes of the wage order, which presumptively considers all workers to be > employees, and permits workers to be classified as independent contractors > only if the hiring business demonstrates that the worker in question > satisfies each of three conditions:

> (A) that the worker is free from the control and direction of the hirer in > connection with the performance of the work, both under the contract for the > performance of the work and in fact; and

> (B) that the worker performs work that is outside the usual course of the > hiring entity's business; and

> (C) that the worker is customarily engaged in an independently established > trade, occupation, or business of the same nature as that involved in the > work performed for the hiring entity.

Your friend's subcontracting would be covered by case C. The problem becomes if that subcontractor that your friend sometimes works with __only ever __does photography work for your friend, and isn 't "engaged in an independently established trade" they might run into problems. At some point that starts to resemble a part time employee.

> C Factor: Is the worker customarily engaged in an independently established > trade, occupation, or business of the same nature as the work performed for > the hiring entity? The Court interpreted this factor as intending to > identify an individual who independently has made the decision to go into > business for himself or herself, for example, through incorporation, > licensure, advertisements, routine offerings to provide the services of the > independent business to the public or to a number of potential customers, > and the like. The fact that a company has not prohibited or prevented a > worker from engaging in such a business is not sufficient to satisfy this > factor; rather, a hiring entity will need to prove that the worker is > customarily engaged in an independently established trade, occupation, or > business.

<comment><USER19> Each means all three of the conditions. So they have to satisfy B as well:

> (B) that the worker performs work that is outside the usual course of the > hiring entity's business; and

This pretty clearly seems to render the arrangement illegal. Does this change your view at all?

<comment><USER21> Yeah, good catch. Satisfying any of them seems reasonable. Satisfying all of them is definitely problematic.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Used Roadie to ship some furniture this year to few customers. Much easier than dealing with LTL carriers and the customers liked it much more. Be interesting if they can stay around..

</comment><comment><USER23> Technical question: what is the difference between the Supreme Court ruling[1] (I _think_ I linked the correct Dynamex ruling) and this new law?

TFA states:

> The law implements a legal ruling last year by the California Supreme Court > regarding workers at the delivery company Dynamex.

 _implements a legal ruling_ sounds suspiciously like "the court says that the previous state of law was ambiguous/incongruent and the legislature must pass a law to address it".

Can anyone shed light on whether I am on base or not?

[1] [https://scocal.stanford.edu/opinion/dynamex-operations- west-...](https://scocal.stanford.edu/opinion/dynamex-operations-west-inc-v- superior-court-34584)

<comment><USER24> > Technical question: what is the difference between the Supreme Court > ruling[1] (I _think_ I linked the correct Dynamex ruling) and this new law?

The new law codified the Dynamex ruling but also added some new industry- specific exceptions; outside of those exceptions they are essentially the same.

</comment></comment><comment><USER25> I am curious about what federal law they are referring to and what it says? I am not an expert nor a US citizen.

<comment><USER23> If I am correct, I think it's the Interstate Commerce Clause[1] of the US Constitution.

[1] [https://en.wikipedia.org/wiki/Commerce_Clause](https://en.wikipedia.org/wiki/Commerce_Clause) (note that the wiki article is the "Commerce Clause", but it mentions the "Interstate Commerce Clause")

</comment></comment><comment><USER26> Well, now we know what Yang will be talking about in the debate next week.

<comment><USER27> Yang is basically a foot note in history at this point.

<comment><USER28> I wonder what makes you think so? Because of low polling #? Just curious.

</comment></comment></comment><comment><USER29> You're watching corruption in real time Here. Lorena Gonzalez is openly condemning the court system and corporations are flexing how much they'll spend if they can't cut a deal.

Regulations like these lead to lobbying which leads to corruption. This isn't about "justice for workers" - it's a shakedown by politicians in a single party state.

<comment><USER23> > Lorena Gonzalez is openly condemning the court system

Can you explain your thinking here?

From my reading, the law she wrote/sponsored was largely aligned with the Supreme Court of California interpretation of the Dynamex case.

<comment><USER29> She says that they are "delaying justice" by taking their grievance to "the courts". I read it as a condemnation of the courts as an obstacle to her view of what justice is.

Any law maker should embrace a court challenge to their law. Suggesting the courts are an obstacle to their constituent's is bad precedent.

</comment></comment></comment><comment><USER30> As predicted by Andrew Yang. Read "War on normal people"

<comment><USER31> I don't recall a prediction of laws against this in The War on Normal People. He does mention the changing nature of jobs (most newly created jobs are gig or contract) in the past few years though, and what that means for worker stability (healthcare, etc).</comment></comment>


Meta Programming in JavaScript with Proxies - <AUTHOR> https://itnext.io/meta-programming-in-javascript-with-proxies-64fa4898070e <comment><USER2> Having experimented with and used proxies a decent amount, the MDN page is my goto reference when I need to use them: [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Proxy)

The biggest pitfalls, in my experience are

1\. Infinite recursion when implementing get and printing proxies with console.log in node.js (which attempts to access properties from the object prototype which can lead to infinite recursion problems).

2\. Performance, which I would need to do more digging and benchmarking to comment on in more depth.

Some libraries that use Proxies to great effect are the [https://github.com/mobxjs/mobx-state-tree](https://github.com/mobxjs/mobx- state-tree) and [https://github.com/mweststrate/immer](https://github.com/mweststrate/immer) libraries both by mweststrate

<comment><USER3> Immer is excellent. It makes deeply nested immutable updates a breeze. The API almost makes it feel like you're programming in a fantasy-land future where JavaScript's default data structures were persistent data structures like a proper functional language.

And it accomplishes all that without sacrificing type safety like most string path based approaches to deep updates often tend to do (think lodash.set or ramda.assocPath).

The only reason we haven't gone all in on it yet is the existence of browsers that don't support Proxy (like IE11, which we now unfortunately have to support), where performance takes a huge hit, and those tend to be the browsers that can least afford to take that performance hit to begin with.

<comment><USER4> I just converted one of our medium sized redux apps to immer and it has been a resounding success. I highly recommend it and will be using it everywhere in the future.

<comment><USER5> Hi, I'm a Redux maintainer. I'd be interested in hearing how your experience with Immer went, as well as any other feedback you can offer.

Also, as I mentioned just below, please try out our new Redux Starter Kit package, which uses Immer internally (and offers several other useful utilities for simplifying common Redux use cases, like store setup, reducer definitions, and even creating entire "slices" of state at once):

[https://redux-starter-kit.js.org](https://redux-starter-kit.js.org)

<comment><USER4> Actually the reason I was willing to take a chance on Immer is because it's included in redux starter kit. :)

Using immer in production has been about 1000x better than writing immutable state updates by hand. It literally reduced (hah) the LOC in our reducers by at least 75%, not to mention the gains from reduced cognitive overhead.

The architecture I ended up using is basically a recreation of redux starter kit with some customization for convenience (a couple of methods on action creators that wrap `toString` for creating reducer keys that only handle actions with certain meta properties, like `updateEntities.of(entity)`).

<comment><USER5> Neat! I'd be interested in seeing what you came up with if you get a chance.

</comment></comment></comment></comment></comment></comment><comment><USER6> This rubs me the wrong way somehow.

All of this functionality could be accomplished with simple functions. They may not be as cool, but they are obvious in the calling code and they are easy to search for. Magic stuff like this conflicts with community conventions. New people are going to be perplexed as to what's going on (or worse, they learn from your code and conversely get perplexed when x[-1] doesn't work on a normal array). Also, you risk confusing various tools in subtle ways.

<comment><USER7> I agree. While you can accomplish some really interesting things with Proxy, I think that this article presents some poor examples that are actively harmful. I don't expect `delete` to be O(N) (actually worse if you consider the `ownKeys` implementation. I don't expect setting a property (sort) to invoke an expensive sorting operation. The list keeps going.

While I appreciate what the author is trying to accomplish, I think this is an example of what _not_ to do as far as code is concerned.

Most of my practical usage of Proxies to date have been limited to some debugging tools that I wrote for AngularJS to help detect property changes that occur outside of a digest cycle. Don't think I've had any use cases that I've shipped to production code yet, though I believe Vue is considering using proxies for their reactivity model in the future to avoid the need for `Vue.get` and `Vue.set` for previous unknown properties or deletions.

<comment><USER8> I particularly like the ``JSON.stringify({ name: "Albert Einstein" }) in dbProxy``.

</comment></comment></comment><comment><USER9> > get(tgt, prop, rcvr)

Good article, terrible variable naming.

Abbreviated variables are a pet peeve of mine. What is 'tgt' supposed to be? An abbreviation of 'target'? 'Thank god it's Thursday'? Might as well just use x,y and z, it's no less clear.

<comment><USER10> funny, target, propery, receiver seem evident to me. don't you guys do note- taking ?

<comment><USER9> What is the convention used here for deciding the abbreviated names? It's clearly not removing vowels since prop has an o in it. So it becomes subjective as to how stuff should be abbreviated. If things are subjective, there is no standard.

In one function developer A might call it "rcvr", in another function developer B might call it "rec". Both mean "receiver", just use "receiver".

<comment><USER11> `rcvr` is clearly Resistor Capacitor Viewer. Duh. And clearly `rec` is Recovery.

The Story of Bunny Showers:

I worked on a code base where we had, in one class, seemingly endless variations on the spelling of "business hours". There were variables named `bsns_hrs`, `business_hours`, ` business_hrs`. Furthermore, in the object's (horrible, messy, overlarge, mutable as fsck) internal state, there were elements labeled with `busnessHours`, `bsnsHours`, 'business-hours`, 'bnshrs`. And so on.

My habbit when reading code like this is to map each spelling to a phonetically similar word or phrase. So `business_hrs` becomes "business hers" and `bnshrs` becomes "bunny showers". And so forth. It makes it easier to rationalize about what is happening, especially if, like me, you move your lips when you read.

I have ever since called this issue of inconsistent spelling in code the "bunny showers" problem, owing both to the well-known fecundity of rabbits and the hellish proliferation of inconsistent names in that fabled codebase.

</comment></comment></comment></comment><comment><USER12> I love proxies. I do worry about their effects on performance, but the benefit of being able to use native object semantics is sometimes too great.

I've developed a proof-of-concept library that uses them to provide optionals support (no more TypeErrors for writing things like obj.property.property2.property3 when property doesn't exist) here: [https://github.com/jdelman/proxy-lens](https://github.com/jdelman/proxy-lens)

(Btw, I know calling it a lens isn't right.)

<comment><USER13> > I do worry about their effects on performance

What kind of performance do you mean? Compile time? They should be optimisable away and shouldn't have any effect on actual run time should they?

<comment><USER14> Proxies are entirely a runtime API. Did you read the article?

<comment><USER13> > Proxies are entirely a runtime API.

Yeah I know - but where isn't the performance as good as it should be? Is it during compile time, runtime, memory, something else? Do they not get compiled them away so they're free in terms of runtime cost?

> Did you read the article?

Yes of course I read the article. It's against HN guidelines to ask people this.

<comment><USER15> They don't get compiled away because Proxies are a runtime thing. The impact on performance is entirely on the runtime.

<comment><USER13> I have no idea what you are trying to say. I know they're a runtime thing. Why is it not possible to optimise them away so they don't have a runtime cost, after having been compiled?

<comment><USER15> Because they need runtime support from the engine, e.g. you need engine support in order to intercept calls like:

      obj[prop] = 'foo'

where prop is user input or similar. You could technically compile them away if you replaced _all_ property set/gets with code like

      set(obj, prop, "foo")
      get(obj, prop)

with a babel step, but the performance impact of this (both in runtime and compile-time) would be enormous.

<comment><USER13> I don't mean Babel source-to-source compilation. I mean the native compilation done at runtime. The JIT.

<comment><USER15> There's some work being done on optimising Proxies, but the current implementation is just slow (and also varies by engine), but yes, they can probably be optimised further.

EDIT: there are various blog posts around talking about optimisation: [https://v8.dev/blog/optimizing-proxies](https://v8.dev/blog/optimizing- proxies)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> An interesting article, but I would be concerned about readability for newcomers unfamiliar with Proxies.

To be honest, for the particular use cases mentioned here - why not use the object utilities in Lodash (which is well used, familiar to many, well documented, and battle hardened)?

> we didn't get around to implementing slices like array[1:3]

What's wrong with arr.slice(1,3)?

</comment><comment><USER17> One fun use case is that you can use proxies to detect accesses to nonexistent properties of JS objects, and you can then throw or log a warning rather than having them just return undefined. Unclear if you'd want to do that everywhere (due to perf reasons), but might might be a good thing in development/tests.

You can also use proxies to aid in code migrations. For example, let's say you want to migrate your frontend code from `user.id` to `user.handle` and eventually stop returning `id` from the backend. If you wrap server responses in a proxy, then you can warn in production if any code ever accesses `.id`. That's a lot more comforting than trying to search the code, and even in a 100% TypeScript codebase you still might have some dynamic accesses that the proxy would catch.

(I haven't actually done either of the two above approaches in a real-world scenario, but they've always seemed appealing, and I'm curious of others have real-world experience with them.)

</comment><comment><USER18> One of the unexpected behaviours was that if you proxy an object you cannot call it as a function even if you define `apply` handler. This made proxying async functions impossible because they always return Promise<T> even if T is another function, unless you wrap promise in a dummy function before proxying.

[https://github.com/kozhevnikov/proxymise/blob/master/index.j...](https://github.com/kozhevnikov/proxymise/blob/master/index.js#L3)

<comment><USER19> That is really interesting, I'm building something with Proxies for any Type and async function proxified worked for me. Mind if I hit you up for a chat?

<comment><USER18> Sure. I mean if you have an async function that returns another function (so it actually returns a promise of a function because it's async) proxy of the original function will call apply handler when invoked, but proxy of the return value will not because it's actually not a function but an object (a promise of a function) and as it turned out proxied objects do not call apply handler when invoked (even if it's defined) but throw an exception.

        const handler = { apply: () => { console.log('ok') } };
        const foo = new Proxy(() => {}, handler);
        const bar = new Proxy({}, handler);

        > foo()
        < ok
        > bar()
        < VM313:1 Uncaught TypeError: bar is not a function
            at <anonymous>:1:1

</comment></comment></comment><comment><USER17> > Unfortunately, to get the last element we still have to do the clunky > javaScriptArray[ javaScriptArray.length - 1 ] technique. This ... has always > seemed like a major oversight in the ECMAScript standard.

Sort of an aside, but there's a stage 1 (relatively early) proposal to add an `array.lastItem` property that should finally improve things:

[https://github.com/keithamus/proposal-array- last](https://github.com/keithamus/proposal-array-last)

<comment><USER20> I miss python's list operators so much when I'm in JS (along with lots of other stuff). Is there a reason why we couldn't use python's x[-1] syntax in JS?

<comment><USER17> There's probably existing code out there that relies on `arr[-1]` returning `undefined`, e.g. looping backward through an array until it gets a falsy value. You can also assign to `arr[-1]` and it'll work (it assigns to a new -1 key, not to the end of the array), and maybe some people do that in existing code. They had to pick `lastItem` as the name instead of just `last` since using `last` is also known to break the web.

It's also not obvious that negative array accesses should behave that way. It's a tradeoff where it's more convenient in some cases but feels a bit less elegant and can lead to bugs (particularly dynamic array accesses that are accidentally negative). But FWIW, `slice` already implements this behavior, e.g. `arr.slice(-1)[0]` is a way to get the last element of an array, so there's certainly precedent in JS for it.

</comment></comment></comment><comment><USER21> Yep, proxies can be really useful, but use them carefully. We use them at Yazz so that we can have custom code editors that have variables injected into them

</comment><comment><USER11> Yet another way JavaScript has become more like Perl5. It now features `tie`. [https://perldoc.perl.org/functions/tie.html](https://perldoc.perl.org/functions/tie.html)

</comment><comment><USER22> I use these sometimes in personal projects:

[https://gist.github.com/thisredone/783407f9aacc496c4c13e4076...](https://gist.github.com/thisredone/783407f9aacc496c4c13e4076bca7d63)

</comment><comment><USER23> All the examples could be done in ES5 using Object.defineProperty. Proxies do however have more traps available.</comment>