Intel Paid Dell $4.3 Billion to Pad Earnings From 2003 to 2006 - <AUTHOR> http://www.nytimes.com/2010/07/23/business/23dell.html?_r=1

<comment><USER2> _The exclusivity payments constituted a steadily growing part of what Dell reported as its operating earnings, from 10 percent in fiscal 2003 to 38 percent in the fiscal 2006, then jumping to 76 percent in the first quarter of fiscal 2007, the S.E.C. said._

One more year and they could have quit selling poorly made computers altogether and made a business out of not using AMD.

</comment><comment><USER3> _Michael S. Dell, chief of Dell, agreed to pay a $4 million penalty but did not admit responsibility._

That's a big reason why this stuff just keeps happening.

<comment><USER4> My knee-jerk, emotional reaction is to say that this is America's corporate culture. Executives don't accept personal responsibility for anything, ever.

And now to the SEC or whomever accepted the M$4 settlement. This is ridiculous. What is the point of pursuing someone if not to end up with the equivalent of a "conviction." How is collecting cash from someone who admits no wrongdoing different from being bribed to find them innocent?

If I were in charge of the SEC, I would put findings of wrongdoing ahead of collecting cash penalties. Money is irrelevant to wealthy individuals. The one thing they cannot afford to spare is time. I would relentlessly pursue them with subpoenas, prosecutions, and the threat of actual jail time in order to force them to admit wrongdoing.

Settlements would involve community service, not money. Michael Dell needs to take some time off his business and read books to children in the library or perhaps help high school students with their math homework.

<comment><USER5> To follow this up: M Dell is worth about 12 billion. 4 million? The easy way to compare it is by portion, in which case he's just paid, say, a fine of five hundred dollars in terms of an average person. But rationally, that marginal 4 million will have even less affect on Dell's lifestyle than the $500 would on a blue collar citizen.

The money doesn't matter.

</comment></comment></comment><comment><USER6> TRWTF here is who the hell at Intel thought it was a good idea to be making seriously large cash payments to another company so that they would not use a competitor's product...really, guys? I thought you were smarter than that.

While I'll certainly admit that anti-trust rules have some gray areas where we could argue the relative utility of actions against monopolies or near- monopolies, this is not one of them. I doubt if even the most die-hard laissez faire types would argue against going after Intel here - if cheating like this is not forcefully dealt with the whole idea of a free market eats itself by its own asshole.

Did they seriously think they'd get away with this, or did they just figure the ultimate cost (cash spent + whatever penalties they are subject to once caught) would be worth it?

<comment><USER7> Um, yes. Unless anyone is being arrested for a criminal offense, than yes. They did think they would get away with it - and they have. Neither the words "criminal" nor "jail" were even in that NYT article.

Sad fact is that the entire fiasco was a simple business decision. No one goes to jail, and if they are caught they simply pay a fine.

Personally, I think every signature on their SEC fillings during that period should do jail time. But hey, what do I know.

</comment></comment><comment><USER8> This is a little weird. It's not 'padding' earnings, since Intel really did pay them the money, and they really did make it. What the SEC is saying is that they didn't tell investors that there was a risk, here. But the risk was "If we think using AMD is worth losing these payments, we'll do it."

That's not terrible. It's like saying "If we think our CEO is incompetent, we may hire someone else, even if we have to pay him more." Yes, that's a hidden risk to earnings.

<comment><USER9> No way. This is accounting fraud, plain and simple. It was a massive cash kick-back from a supplier that was disguised as regular earnings or revenue to keep Wall St. expectations and Dell's stock price up.

Who knows how much Dell and other managers in the know profited from this by cashing out stock or options for years while the rest of the investing public held the bag? They should probably be in jail.

<comment><USER8> But the point was that Intel was paying them, presumably in order to not do something that would harm Intel. So it makes sense to keep accepting that payment until the costs exceed the benefits.

Are you contending that Dell would not have recouped _any_ of that rebate money by working with AMD? If so, why would Intel pay so much? In theory, just paying Dell $1 would be enough.

</comment></comment></comment><comment><USER10> From Dell's Corporate Governance Principles: ([http://www.dell.com/content/topics/global.aspx/about_dell/in...](http://www.dell.com/content/topics/global.aspx/about_dell/investors/corp_gov/corp_gov?~ck=ln&c=us&l=en&lnki=0&s=gen))

 _Ethics and Values The Board and management are jointly responsible for managing and operating Dell's business with the highest standards of responsibility, ethics and integrity. In that regard, the Board expects each director, as well as each member of senior management, to lead by example in a culture that emphasizes trust, integrity, honesty, judgment, respect, managerial courage and responsibility._

Crappy hardware, crappy ethics.

<comment><USER11> I am honestly amazed by the capacity these people have to spew bullshit. Apparently that was his answer to this:

 _Mr. Dell said, "We are pleased to have resolved this matter. We are committed to maintaining clear and accurate reporting of our periodic results, supporting our customers, and executing our growth strategy."_

How is it possible to say this with a straight face? I find this comment very insulting. Compare this to, say, the Toyota CEO.

</comment></comment><comment><USER12> Seems that Intel rebated Dell, rather than give them better pricing off the bat, otherwise they would have had to offer the same pricing to everyone else. By making it a rebate, they avoided this.

<comment><USER13> Intel would only have to offer the same "Dell-special" price to folks who have the appropriate contract terms. (Dell doesn't buy off the standard price sheet, if Intel even has one.)

However, there may be companies that have a "no one gets a better price" deal. This may give rise to a breach of contract suit or possibly fraud.

And then there's the US govt. The law says that the US govt has to get the lowest price.

Of course, Intel can give volume discounts to Dell that the govt doesn't get if the govt doesn't do the same volume, but if Intel told the govt that it was getting the best deal and Dell's deal was actually better ....

</comment></comment><comment><USER9> Nothing like buying your way out of massive financial fraud. What happened to Sarbanes-Oxley and all that post-Enron & Worldcomm legislation?

</comment><comment><USER11> Registration wall, can someone paste the article here or link to a copy?

<comment><USER14> There's this little thing called copyright. (There's also BugMeNot, which usually works.)

<comment><USER11> I tried Bugmenot before posting, it did not work.

I know about copyright. I tend to ignore it when I believe that breaking it would have no negative effect nor consequence. Your sense of morality may vary.

Answering my own question, here's a similar article: <http://www.kbc.co.ke/story.asp?ID=65474>

</comment></comment></comment><comment><USER15> Has there been any information released on why Dell was doing so badly in 2007 when seemingly everyone else was doing well? Is Intel paying other companies to be exclusive which is inflating their earnings? Makes you think twice about the top PC makers and who's really #1. Would love to read more about how/why it jumped to 76 percent.

</comment><comment><USER16> "Business? It's quite simple. It's other people's money." --Alexandre Dumas</comment>


The Point Of Technological Singularity  - <AUTHOR> http://www.linkedin.com/today/post/article/20140424154617-23992197-the-point-of-technological-singularity <comment><USER2> what's the difference between collective intelligence artificial intelligence? because most of the examples given are collective intelligence. other peoples input scored and summarized.</comment>


Practical Uses of CSS3 - <AUTHOR> http://www.viget.com/inspire/practical-uses-of-css3

<comment><USER2> The internet is such a pile of crap. Why all these things can't work perfectly in every browser is just beyond belief. The W3C is worse than the UN.

As a remember: All of these work great in Webkit. Some of these things don't work right in Firefox (the drop shadows are rendered very badly, for example). And none of them at all work in any type of common IE.

<comment><USER3> Which WebKit browser are you using? Chrome 3 in Windows failed on one of his examples (see my other comment).

And yes, very lame that IE gets none of these. None!

<comment><USER2> I use the Webkit Nightlies at <http://webkit.org>.

Chrome fails at a lot of Webkit standard stuff.

<comment><USER3> I thought WebKit's WebCore would be to blame for this and not Chrome. Is it because Chrome (v3) is using outdated versions of WebKit or I am I misunderstanding what WebCore does ( _very_ possible)?

</comment></comment></comment></comment><comment><USER3> WebKit (Chrome 3) fails on his second input border radius example where all the corners are defined with one attribute:

      -webkit-border-radius: 3px 6px 8px 10px;

Currently, those have to be defined as separate attributes for each corner for this to work. Would this be considered a bug in WebKit? This is their proprietary attribute, so they aren't necessarily supposed to behave as the W3c specifies...

<comment><USER4> Safari doesn't render it for me, but the WebKit nightlies do (they're <i>phenomenal</i>. Usually more stable than Safari, and faster than anything else). I guess I'm the opposite of you, as Chrome does. I'm on a Mac though. Odds are versions are different if you're on a Windows machine.

As to the "bug in WebKit", only if it's supported in that version of webkit. Restart Chrome, and if it's still there, hunt for an existing bug report, and check if it's supposed to be supported. If yes, it's a bug. If no, then wait until a Chrome update (no clue how often they'll update the WebKit part of it, though).

</comment></comment><comment><USER5> I'm wondering why most of the larger browser makers don't get together to agree on something. The W3C can clean it up later.

I just don't think it would be too hard for Moz/Webkit team/IE team to agree to support 'border-radius' and other things. Any smaller browsers would catch on soon enough anyway.

Well, getting the IE team to get it to work may be a challenge.

<comment><USER4> In addition to the comment by Bodhi, I feel I should point out that this is a HORRIBLE idea. Microsoft has been doing this for quite a while, and that's part of the reason web support (among other kinds of support) is so nasty.

If anything, the W3C exists to make sure the standards don't conflict with themselves. When amateur spec-designers start throwing around specifications, run for the hills. There's going to be enough hellfire, brimstone, and general fail to satisfy any armageddon cult, but they'll all disagree on how the fail is going to happen. Endless hours will be spent in chatrooms and forums debating which fail will win, and in the end everyone has to crawl into their radiation-, mutant-rat-, gelatinous-ooze-, cosmic-ray-, alien-proof-bunkers every 37 minutes just to survive the onslaught of potential fail.

</comment></comment><comment><USER6> Great article! It's a damn shame it's going to be another decade before we can actually use any of these properties and expect them to work...

<comment><USER7> <http://a.deveria.com/caniuse/>

<comment><USER4> handy link. nearly got an audible "omg" at IE's fail...</comment></comment></comment>


Show HN: Video call a home service pro for DIY assistance in seconds – MVP - <AUTHOR> http://www.quickcarl.com <comment><USER2> Just checked you guys out - clean + easy user interface....How long have you guys been up and running?

<comment><AUTHOR> We have been working on the idea for a few months, but live with this MVP for less than a week. Just starting to get the word out.

</comment></comment><comment><USER3> Product looks great for less than a week. Is your development team in house?

<comment><AUTHOR> We are working with a mix of contractor support and organic support right now. We are hiring front end support and another full stack developer. Considering a CTO as well.

</comment></comment><comment><USER4> Just gave it a try and it looks good. What is your pricing model?

<comment><AUTHOR> Pricing will be $10 flat fee for a short diagnosis/troubleshooting call of 15 min. Pros can set their own hourly rates for longer calls to help someone replace a sink or remodel a kitchen. We think they'll charge between $25 and $100/hr depending on specialty. QC will take a commission similar to Airbnb or Uber for each transaction.

</comment></comment><comment><USER5> I tried this out just for kicks and it totally works. Super simple one-push interface. Pretty neat. Great work. How long did it take you to build?

</comment><comment><AUTHOR> Thanks! We built this web based MVP in a few weeks. Android and iOS app in development. We are shooting for late fall on those.

</comment><comment><USER6> Sleek and easy to use website and chat feature!

<comment><AUTHOR> Thanks! The app is going to be even better.</comment></comment>


Samsung Kills 'Linux on DeX' with Android 10 Rollout - <AUTHOR> https://www.tfir.io/samsung-decides-to-shut-down-linux-on-dex-with-android-10-rollout/ <comment><USER3> A guy I was hanging out with a hackathon this weekend was using a chromebook with crouton. An update broke his crouton intsallation and he had to find another editor and another way to spin up services, containers, etc.

If you're running a linux container on a machine with a bootloader you don't control, the manufacturer can pull your card at any time for no reason. I refuse to live that way if I have a choice, even if it means crappy hardware. :p

<comment><USER4> Note you can get (very) old ThinkPads for a pittance which will be a much better platform for running Linux. Many actually prefer the T420/X220 for its keyboard and the performance is not as bad as one would think from the eight years passed since its release. As [https://www.hardocp.com/article/2017/01/13/kaby_lake_7700k_v...](https://www.hardocp.com/article/2017/01/13/kaby_lake_7700k_vs_sandy_bridge_2600k_ipc_review/4) attests from Sandy Bridge (2011 ThinkPad) to Kaby Lake (2017 ThinkPad) IPC only grew by 20%, the big changes were in efficiency allowing the move from 35W CPUs to 15W CPUs. Also, if you are just slightly handy, you could use the T430/X230 with the old keyboard hacked onto them. If you are even more handy, you could install a converter board and a full HD screen. If you are doing this to a T430s with an i7 CPU without an nVidia GPU you even get Thunderbolt, Thunderbolt 1 for sure but still, a converter allows you to attach TB3 devices. A T430s hacked so is basically the poor man's ThinkPad 25 which is the pinnacle of laptops. (Not counting the T480-ThinkPad 25 Frankenpad which is nuts.)

<comment><USER3> I am typing this on $150 refurbished x230, I also have a t440s with a retrofitted IPS screen, and t450 touchpad.

shhhhh..... stop telling the other hackers, they will buy them all! XD

<comment><USER5> So the t450 touchpad is compatible with the t440s? Tell me it has real buttons and doesn't tilt the pad to click!

<comment><USER3> Most indeededly!

</comment></comment></comment></comment></comment><comment><USER6> Be nice if phones had a standard BIOS and allowed a competitive selection of operatings systems. Worked well for PC's in the end and Linux being one of many alternatives testaments that.

<comment><USER7> > Be nice if phones had a standard BIOS and allowed a competitive selection of > operatings systems. Worked well for PC's in the end and Linux being one of > many alternatives testaments that.

It worked out well for the PC platform. Not so much for IBM, though.

<comment><USER8> That made me go look for a long term stock chart. It's really kind of interesting:

[https://www.macrotrends.net/stocks/charts/IBM/ibm/stock- pric...](https://www.macrotrends.net/stocks/charts/IBM/ibm/stock-price- history)

...it would seem IBM is still in a (very volatile) huge uptrend that started in the early 90s.

Now that I think of it, you could say that if the PC platform worked out well for Linux then Linux ended up working out well for IBM.

</comment></comment></comment><comment><USER9> This actually is/was really good.

On my note 9 I can open a shell. Or with HDMI get a Ubuntu desktop.

Any ideas what Google changed in Android 10 to break compatibility?

<comment><USER10> Could have to do with the fact that Google implemented new SELinux policies preventing the running of binaries from an app's data directory. Any binaries you run on Android 10 or later must be bundled in the apk and are read only on the device.

I think Termux uses proot to get around this, so it still works (for now). If this is indeed the reason, Samsung probably just said "fuck this shit".

Expect Google to push out a Fuchsia-based Android whose kernel won't allow the proot hack sometime in the next few years. Like it or not, the closed ecosystem of iOS provides more value to end users, and Google wants to bring those benefits to Android.

<comment><USER11> " _Like it or not, the closed ecosystem of iOS provides more value to end users_ "

Is there any "official" proof for this statement? To me closed ecosystem of iOs (and semi closed Android for that matter) look truly pathetic comparatively to what I have on Windows/Linux desktop

<comment><USER12> There SELinux change & its impact on Termux is discussed in quite a detail here: [https://github.com/termux/termux- app/issues/1072](https://github.com/termux/termux-app/issues/1072)

<comment><USER13> That is an interesting discussion.

Summary: the conundrum Google finds themselves in is they want all code run by the user in plain sight: signed by the developer and inspectable by their anti malware tools. It's not difficult to see why they want this.

The stand out counter example is Browsers downloading and running javascript, which is unseen by them, unsigned and worst of all for them utterly impossible to prevent entirely. So in Termux's case it's always going to be near impossible to block interpreted languages like python from running.

The interesting special case is what they called mmap(PROT_EXEC), possibly better called mmap(PROT_EXEC|PROT_WRITE). In other words, the ability to write and execute create code on the fly. JIT's can't work well without it, so without it Javascript is always going to run like a dog. But with it is is always possible to load an ELF binary yourself in user space, bypassing the kernel entirely. Termux could always replace the libc exec() with something that did it that way.

So it looks to me like this is all just re-arranging the deck chairs. Ultimately Google can't use technical measures to prevent any malicious app from running any code they damned well please. Their attempts to accomplish the impossible won't help the malware problem, but does make like difficult for innocent apps like termux.

As others have said this have said, this has nothing to do with Samsung killing Linux on Dex. Unlike Termux, they have to power to turn it all off.

</comment></comment></comment></comment></comment><comment><USER14> Might be because of _No more exec from data folder on targetAPI >= Android Q_ [https://github.com/termux/termux- app/issues/1072](https://github.com/termux/termux-app/issues/1072)

<comment><USER15> Not really, Samsung is well known for having their own customisations to AOSP.

Your link is just the latest example how Android is not really Linux.

Project Treble drivers, NDK constraints, white listed syscalls are all examples how userspace just gets to see a selective POSIX like OS.

</comment></comment><comment><USER16> This is very unfortunate, even through the writing was on the wall already for a while [1]

I used LoD often. It was just perfect for on-the-go javascript hacking. In fact at least 200+ commits to the Kea project [2] were written with Linux on Dex.

The only issue I had was that with larger projects [3] when running in the Mate desktop environment, I quickly ran out of inodes... and there was no way to increment them. I had to turn off many things in vscode (file watcher) and my projects (recompile on change) to have an usable system.

Time to look for alternatives. In the worst case I can just connect to a VNC server somewhere (LoD also used VNC), but that requires constant internet access and has issues of its own. LoD was just perfect for quick code writing in airplanes, etc.

[1] [https://www.sammobile.com/interviews/dex-product-manager- new...](https://www.sammobile.com/interviews/dex-product-manager-new-features- greater-device-support/)

[2] [https://kea.js.org/](https://kea.js.org/)

[3] [https://github.com/mariusandra/insights](https://github.com/mariusandra/insights)

</comment><comment><USER17> Luckily there's still postmarketOS what accomplishes the same thing by replacing android on android phones with an Alpine Linux install.

<comment><USER18> It doesn't achieve the same thing. Linux on DeX had full driver support because it was running on top of Android. postmarketOS has to play catch up.

<comment><USER19> driver support for what hardware on the device specifically? Is it not open- source? aka can it not be backported?

<comment><USER20> Android's driver APIs and userland implementation are nonstandard. They have their own libc (bionic) and their own linker. Vendors supply binary blobs for many drivers (RIL, graphics, etc.).

These drivers need a series of compatibility shims to work with "normal Linux," on both sides of the driver API.

The Kernel <-> Driver interface needs to be backported to Android's non- mainline HAL, usually using Halium. The driver <-> userspace API needs to be implemented, for example by xf86-video-hwcomposer or libhybris-libwayland-egl. Finally, the blob needs a libc shim to work with normal libc (libhybris itself).

[https://wiki.postmarketos.org/wiki/Hybris](https://wiki.postmarketos.org/wiki/Hybris)

<comment><USER17> I like to point out that most devices don't use hybris on postmarketOS

<comment><USER19> and instead have native support?

</comment></comment></comment></comment></comment></comment><comment><USER21> Purism to the rescue! Https://puri.sm/products/librem-5/ ..at least it's a start. Hopefully linux (FOSS) on mobile will eventually break through, it's sucks bigtime being dependent on a device from apple/google

<comment><USER12> A decent regular Linux distro running tablet with a Wacom digitizer (precise pen with pressure and tilt support) would be really nice with all the nice graphics tools we already have (Krita, Mypaint, Blender, Inkscape, etc.).

At the moment the only alternative (not counting thd horrendously expensive Windows running mobile studios sold by Wacom) is a couple high end Andrpid tablets and the Ipad Pro & their bunch of proprietary drawing apps.

<comment><USER22> Pine64 is working on the PineTab in addition to the PinePhone. [https://www.pine64.org/pinetab/](https://www.pine64.org/pinetab/)

<comment><USER12> Interesting! But according to the specs I don't see any mention of pen support, which is quite a shame due to all the possibilities precise pointing enables on a tablet.

Oh well might still get it in case the price is right for other use cases. :)

</comment></comment></comment></comment><comment><USER23> I was going to get a Samsung tab s4 because of DeX. Oh well, glad I waited...

<comment><USER24> Note that Linux on dex was an experiment that never made it out of beta.

dex itself will continue to live on.

<comment><USER23> dex has no particular interest, considering Android will have its own desktop mode. It was linux that interested me

</comment></comment></comment><comment><USER25> I've always imagined for a while that eventually our phones will become our day to day "Grunt" for dumb workstations. I was hoping Linux on DeX would be the start of this. Samsung DeX by itself is still pretty cool, If I am just doing admin work / SSH it actually works pretty nicely with MS Office and <favouriteSSHProgram> on a full HD monitor with Bluetooth keyboard and mouse.

I will probably just use this in future for when I am travelling and have to do the occasional document / email etc

</comment><comment><USER26> Too bad, it was a good idea to allow "one device for everything."

I sometimes plug my iPad Pro into a USB-C interfaced large monitor and it is nice having lots of working space but this is not laptop or desktop replacement.

</comment><comment><USER27> Another article: [https://news.ycombinator.com/item?id=21295874](https://news.ycombinator.com/item?id=21295874)

</comment><comment><USER28> Linux containers on Android devices have a long history of failure. I wonder if there's a technical reason why they keep going under, or if it's strictly a lack of interest from end-users who want a Linux desktop environment on their phones.

<comment><USER29> No GPU acceleration was a big issue when I tried it.

</comment></comment><comment><USER30> Does this mean the Dex gadget itself is completely gone, or just 'Linux on Dex'?

<comment><USER31> Only linux on dex, dex itself will continue.

</comment></comment><comment><USER32> It would be cool with a (hardware) switch that you can use to go back and forth via Android and Linux? Or boot Linux and run Android ontop?

<comment><USER33> I actually had something similar setup on my previous phone - <USER2> SailfishOS and two LineageOS installs.

Only issue is I never got things like the camera working in my port of SailfishOS, and some Android apps I used wouldn't work when the phone was rooted, which is why I had one rooted Android install and one unrooted. Also, in order to switch you had to reboot into recovery and flash a zip changing which partition to boot from.

Worked relatively well though.

<comment><USER34> There was a fork of one of the bootloaders (littlekernel?) allowing multiboot way back when. There's also at least one EFI bootloader which would in theory allow an easy/nice boot menu - reflashing to switch sounds extremely painful.

</comment></comment></comment><comment><USER35> Honestly, it makes me wonder if that whole program was really just part of their negotiation for the (recently announced) partnership with Microsoft to integrate Android and Windows. I can imagine them playing hard ball and telling MS that if they don't team up then their alternative will be to build out an entirely new OS based on this. Which honestly would have been quite an interesting play.</comment>


Findombook.org - <AUTHOR> http://findombook.org/adminrachel/photos <comment><USER2> > This is a social networking service where users into the findom lifestyle > can network with other findommes and paypigs.

Jeff bezos is all of our findom</comment>


I'm giving myself 3 months to reskill. What to learn? - <AUTHOR> Grad school isn't for me. On the up side, I've learned a bunch of math and stat, on the down side, my coding skills have suffered. I used to be fairly strong with C++ and could whip up some scripts in python, but I'm a bit rusty.<p>What are some skills that are in high demand right now? Spark? Go? <comment><USER2> Firts, you should revive those coding skills, because coders can work alone or teams. Second, you should get a program, or just Excel to make list of your strengts and weaks. Second, you should learn some new coding languages like bash. Third, you should learn social skills, because they are always good to have. If you have good social skills, you will go far with life. Fourth, just think. Are you interested of something? Do you want to do something that you think is useful? Just relax on your bed, look your roof, listen music and let the thoughts come in to your head. If you catch something good go with it. Have Fun!

</comment><comment><USER3> I started down a similar path in the past 6 weeks. After a bunch of research I decided to learn Python and apply it to IoT and data science. During my research I used indeed.com/jobtrends to help lead me in a direction that has plenty of opportunity across several industries.

Good luck!

</comment><comment><USER4> If you just want to earn money, go for Machine Learning with Tensorflow and dig deep into Python. Thats very valuable and there's lots of positions for people of all skill levels in this area. Plus it sounds cool at dinnerparties.

<comment><USER5> Lots of people know Tensorflow and python, but if you can be one of the people that also understands the underlying math and can think about the results in statistical terms, rather than simply treating it as a black box, then you'll be way ahead of the pack.

</comment></comment><comment><USER6> Look at job ads in your area to see where the demand is near you. Javascript has a high demand in my area, but that may not be the case for you.

</comment><comment><USER7> Javascript is becoming a basic requirement of software literacy. It doesn't make everyone happy. It is a reality.</comment>


Is WiFi killing us  slowly? - <AUTHOR> http://www.networkworld.com/article/2466509/wireless/is-wifi-killing-us-slowly.html

<comment><USER2> First time I've seen this topic in a mainstream tech magazine. Is there additional research on EMR and children? Or on small animals who should be even more affected? It's not clear what anyone can do to reduce background EMR, especially in a dense urban environment.</comment>


Show HN: How to Get Started with Continuous Integration - <AUTHOR> https://fire.ci/blog/how-to-get-started-with-continuous-integration/ <comment><USER2> > 15 minutes later you get a failed build notification. You need to switch > back to the previous task, try to fix the issue … and go for another 15 > minutes loop …

The 3 minute rule is probably one of the most important in the article in my opinion. I have worked with workflows that were longer than 3 minutes (10min+-) and I find that I either went do something unproductive or I started another task. The times when I started another feature and later got interrupted by the previous one because of this were probably 90% of them. This had major impact in my productivity.

Therefore I agree that the workflow should be as quick as possible in order for developers not to lose focus and the flow. The flow state boosts productivity by more than double for myself. And these notifications to go into the previous task break that flow more often than not.

Regarding working on a feature toggle oriented workflow I never had the privilege of working in such environment, but from what I read in this and other articles/books it provides a better work environment for the developers. If anyone has a project like this I would love to experience that and learn more about it.

<comment><USER3> Not to hijack the OPs post, Fire CI looks like a great tool! I recently released my open source feature toggle project, Flipt ([https://github.com/markphelps/flipt](https://github.com/markphelps/flipt)), that allows you to implement feature flags in your existing environment.

Would love for you to check it out and give any feedback that you can!

<comment><AUTHOR> Flipt is an interesting concept! I've tracked you down on Twitter. Let's talk when you have time ;)

</comment></comment></comment><comment><USER4> > Most Continuous Integration tools run the CI build on your branch to say if > it can be merged or not. But that is not what is of interest here. If you > know what you're doing there is a pretty good chance that the code you have > just pushed is working already! > Your CI tool should perform a local merge > of your branch to the main branch and run the build and tests against that.

100% this - I've never seen it written down anywhere so concisely before! What's the point in CI running automated tests on only your changes, when you have already done so locally? If you are pushing your changes just to get your unit test results (and code formatting checks etc), you are doing it wrong! :) merging it first makes much more sense / has much more value.

<comment><USER5> > ci runs tests on merged code and says its ok

> main branch moves ahead now merged code doesn't pass tests.

> ci still says merged code is good to go

> user performs merge

> main branch is broken

<comment><USER6> >Your CI tool should perform a local merge of your branch to the main branch and run the build and tests against that. Your branch can then be automatically merged if the main branch does not change in the meantime. _If it does change, the CI checks should be run again until your code can be safely merged._ If your CI tools does not support this kind of workflow, change your tool.

<comment><USER7> > If your CI tools does not support this kind of workflow, change your tool

Which CI tools do this?

</comment></comment></comment></comment><comment><USER8> _Long lived feature branches create a false sense of safety and comfort for each developer individually. As the branches drift apart for a long period of time, there is no way to measure how hard it will be to merge it all_

A great explanation of how hard feature branches are to manage. But surely better architecture would alleviate that pain...

</comment><comment><USER9> Really well said, fire.ci looks lit as well!!! Could definitely use it</comment>


Keeping David MacKay's 'Sustainable Energy – without the hot air' up-to-date - <AUTHOR> https://www.carboncommentary.com/blog/2017/3/30/l6qcqgoedse1wmjjz87t09usoq6jva <comment><USER2> Climate change will create the first trillionaire.

I quit my job because of David MacKay's work. Terrific, inspiring book. Now I'm building a global network of climate-change labs called Impossible Labs. Would love to connect with entrepreneurs who love SEWTHA, maybe we could do a meetup in SF (email@example.com)

<comment><USER3> Not in SF, but just wanted to pass on that I took a look through your personal site and really enjoy it. Best of luck with Impossible Labs!

<comment><USER2> Thanks for the encouragement :)

</comment></comment></comment><comment><USER4> This is a fantastic effort. The original book was an amazing attempt at napkin-mathing away innumerate arguments.

However, I think that people that read it now can sometimes come away thinking that sustainable energy is pretty difficult, or that heavy nuclear will be the most cost effective way to get rid of carbon in our energy.

Technology trends drastically change the practicality of napkin math that's not even a decade old. It has turned solar from cost ineffective to cost effective. Another decade is going to make storage extremely cheap, as in 2x-10x cheaper. At that point, we will just need to build our solar and wind arrays to capture enough energy at their seasonal minimums.

<comment><USER5> The main point that I took away from the book is the phrase that country-scale generation using wind and solar requires country-sized installations. While it's great that the cost of solar is falling rapidly, there's still a theoretical maximum efficiency which we can ever reach. IIRC that's around the 30% mark, and the updates in the OP suggest that for large-scale panels the efficiency has increased from around 10% to around 16%. It discusses other possible but unproven advances which might increase the efficiency more (multi-layer tech, for example). They say: "...companies are now developing multi-layer PV panels that will deliver (although timing remains uncertain) efficiencies greater than 30%". While this is clearly excellent news, it's still only a possible 3x improvement in the future which means we just need installations the size of a smaller country.

Basically, it doesn't matter that the cost has dropped if we simply can't generate enough electricity that way. They discuss the possibility of generating 50% of the UK's total _energy_ needs (not electricity needs) via solar and point out that it's not as ridiculous an idea as it was when Dr McKay wrote the book, but it's clear that we still need some fairly massive increases in technology to get there - e.g. storage, transport, routing. Perhaps they will happen quickly or perhaps they won't, it's very hard to tell at this stage.

tl;dr: I'm really happy to read that solar is improving, but price alone is not the only factor. It's a big one, but it's far from the only one.

Edit: also, in case it wasn't clear - I'd be ecstatic if this data were kept up to date. I was actually wondering about this just yesterday.

<comment><USER6> I don't understand why everyone focuses on efficiency. (Okay, it makes sense in the U.K. with their combination of high population density, high latitude, and awful weather, but for large parts of the world it doesn't.) Total watts per dollar (including mounting hardware, cabling etc.) is the figure you should focus on.

</comment></comment></comment><comment><USER7> [http://withouthotair.com/about.html](http://withouthotair.com/about.html) \- "This is a free book in a second sense: you are free to use all the material in this book, except for the cartoons and the photos with a named photographer, under the Creative Commons Attribution-Non-Commercial-Share- Alike 2.0 UK: England & Wales Licence. (The cartoons and photos are excepted because the authors have generally given me permission only to include their work, not to share it under a Creative Commons license.) You are especially welcome to use my materials for educational purposes. This website includes links to separate high-quality files for each of the figures in the book.

A note to pirates, this license does not allow you or anyone to print and sell the book on amazon marketplace!"

</comment><comment><USER3> This would be a fantastic idea.

SEWTHA made me see the world in a completely new way. When I finished it, I started seeing everything I use, see, or have as an energy process. I felt like I learned a first-principles toolkit I could use to break down anything in terms of energy.

I highly recommend this book to everyone – especially if you're serious about thinking about climate change. No BS, no platitudes – just energy from a practical physics perspective.

Updating it today could make it an even more important educational tool for thinking about climate change.

</comment><comment><USER2> Hi everybody, I put the book up on GitHub: [https://github.com/titojankowski/sustainable_energy_without_...](https://github.com/titojankowski/sustainable_energy_without_the_hot_air)

MacKay in his brilliance published the book under a Creative Commons license for non-commercial use ([https://www.withouthotair.com/about.html](https://www.withouthotair.com/about.html)).

Feel free to modify and make changes to the repo. Would love to continue what MacKay started!

Tito (email@example.com)

</comment><comment> ycombinator-uit New Google Group set up:

[https://groups.google.com/forum/#!forum/sewtha-second- editio...](https://groups.google.com/forum/#!forum/sewtha-second-edition)

The welcome message is: \-- This is a Google Group for discussions about updating David MacKay's "Sustainable Energy – without the hot air" book. Sadly, David died just about a year ago, and he had done only preliminary work on revisions.

The group is set up by UIT Cambridge. We published the first edition of David's book, and want to publish an updated edtion, under the same Creative Commons Attribution-Non-Commercial-Share-Alike 2.0 UK: England & Wales Licence.

We have already been speaking to David's family and former colleagues, to work out how best to create an updated edition. We want to keep his voice and his approach and his insight, and above all his rigour. It will take a few months to work through that. In the meantime, let's identify what needs to be changed in the existing edition, and what needs to be added to a new one. \-- Niall Mansfield (I was David's editor for the first edition, and worked closely with him on that for 6 months.)

</comment><comment><USER8> Great idea! This book is excellent, and though the principles are timeless, it would be a shame if the data became outdated.

Sadly the source code for the book doesn't appear to be published. This is unlike David Mackay's otherbook, "Information Theory, Inference & Learning Algorithms", does have the LaTeX source published (see [http://www.inference.phy.cam.ac.uk/mackay/itila/book.html](http://www.inference.phy.cam.ac.uk/mackay/itila/book.html) ), though not in an open source license.

<comment> sid-kap TeX source for the book is available at [http://www.inference.eng.cam.ac.uk/sustainable/book/tex/](http://www.inference.eng.cam.ac.uk/sustainable/book/tex/). I believe this is the latest version.

<comment><USER9> It looks like that is the actual working directory and some files were not saved properly. The #BushOnGrass.tex# files with # at the start and end are backups made by Emacs, and usually deleted when the file is saved correctly.

</comment></comment></comment><comment><USER10> Tangentially related: The first (to my knowledge) MacKay fellow was elected 5 days ago: [http://mlg.eng.cam.ac.uk/?p=2038](http://mlg.eng.cam.ac.uk/?p=2038)</comment>


Ask HN: CSS architecture techniques? - <AUTHOR>

After writing lots of CSS in lots of client sites, I'm definitely missing a Grand Unified Theory of CSS.  I understand that the GUT may not be available to me when operating in other people's sandboxes, but still...  So I'm looking for best practices on high level CSS architecture/organization.  Should I:<p>* Minimize the length of a selector to make it general?  Maximize it to make it specific?  (I tend to be hyper-specific)<p>* Use a standard hierarchy of selector (#page-name .content-block .sub-element .element).<p>* Use CSS modules (/css/widgets/user_list.css, /css/widgets/merchant.css).<p>* Use SASS or SCSS?<p>* Divide CSS by function (e.g. .left, .right) and module (e.g. .widget, .widget-calendar).<p>* Pick jQuery-UI/ExtJS/etc, study their CSS and follow their lead?<p>Can you recommend great articles, advice or guides?  As with programming, I know that there are a number of styles of coding for CSS; I just haven't seen them discussed as much as OO vs FP on HN and CSS seems pervasive, critical and, basically, randomly used. <comment><USER2> This was actually discussed quite recently:

<http://news.ycombinator.com/item?id=2376782>

<comment><AUTHOR> Nice. Not sure how I missed that.</comment></comment>


I Got Fired Last Week. That's a Good Thing. Here's Why - <AUTHOR> http://alexgivesup.com/2013/12/23/i-got-fired-last-week-thats-a-good-thing-heres-why/ <comment><USER2> So this is going to sound mean when I don't mean for it too, but I sort of doubt the reality of being fired for being a generalist. I just don't buy it. I totally believe that's what they /told/ him, I just don't think it's the actual truth.

So far I've made a career out of being a generalist. In my experience, companies of any size love having people like that. Specialists are valuable of course, but most of the time managers end up with a broad spectrum of problems and if they can throw problems to you without wondering if you can handle it, and feel confident it's going to get done, they probably don't care that you're only 70% as efficient as the specialist.

<comment><USER3> I think there's an intermediate size where being a generalist is bad. I'm a generalist, and I experienced a similar situation -- I was extremely useful at the beginning because I could do a fair job of the responsibilities of three or four specialists, but after a year and a half, there were three or four specialists who could collectively do a far better job than me. The amount of tasks which made sense for me to take on dwindled, and I wasn't really needed anymore. I don't regret it or hold a grudge, it was my intent to help build a team that was better than me alone, and I succeeded in that professional goal. I trained most of them to be able to do my job, and am proud of that accomplishment. But I suspect that once the company is at 100 people instead of 20, the budget and flexibility of positions will be such to allow generalists to be more practical again.

Does that make sense? I think for a 10 person team, generalists are very useful, and for a 1000 person team, generalists can be tolerated and be very versatile members who can quickly switch between roles. But I think there is an intermediate point where the company goals are still very narrow but the team is big enough that generalists are only useful in a high level management role.

<comment><USER2> Interesting. I see the framework of your point and I mostly agree, but I still think that even in this sort of awkward middle period, if you're legit good, they're not even going to consider getting rid of you as a generalist. For one thing, they're going to need someone to be able to jump in and help the specialists out with the larger picture. Not to mention that often your generalists end up becoming the specialists, after dealing with certain domains long enough.

If we're talking about a startup of <100 people that is healthy, they're usually in "expand" mode. You don't get rid of useful people when you're in your expand mode unless they're a problem.

<comment><USER4> _they 're going to need someone to be able to jump in and help the specialists out with the larger picture_

Problem is, if you are a generalist (say) with <5 yes experience in total and 8 months at this firm? I'm not sure that works for _anyone_...in that situation.

Although, I don't doubt there is more to the story. Just would be hesitant to jump to character over other consideratiosn without knowing (any, real) details.

<comment><USER5> Who is this straw man generalist? If you are even a moderately capable at many things that makes you a connector and a power broker. Without agency inside a larger organization, a generalist without enough situational acumen will fail to see their opportunities.

<comment><USER4> The straw man is not the generalist being replaced; it is the "emeritus" advisor to the ceo job that is created out of thin air. Many young companies have execs that just don't scale as quickly as the company (for whatever reason...)[1]. Sometimes its just not teneble politically or practically for them to exert further influence, especially at the C-level. Co-founders and ex CEOs are often different, in that regards. Compare the trajectory of Jack Dorsey at Twitter to the engineer that did the original code, but was never promoted to CTO.

(1) ie, You still can be a very effective "early employee" without being C-level material in your current compan. That doesn't imply lack fo competence in the work you _did do_ ; and frankly thats a reason many do change jobs.

</comment></comment></comment></comment></comment></comment><comment><USER6> One could imagine a company with a young single-digit employee, who is very good at what they do but difficult to slot into a traditional org chart, hiring an older industry veteran for a role which will be very well defined. There might be, hypothetically, political dimensions there: "report to a 25 year old" might be a non-starter for the new VP, who may have connections or gravitas perceived as key to the future growth of the business in strategic directions. Conversely, re-shuffling such that the guy who built things from the ground up ends up reporting to the new guy might also be a bit on the awkward side.

I'm not discussing any particular company here, but be aware that this has been known to happen before, and it will probably happen again. I hate to make age a factor [+], but in particular, if one is in one's mid-twenties, one identifies with this guy, one works for a company with enterprise software ambitions, and one's company has recently taken investment and hired the requisite team of industry veteran executives/VPs... well, I hope you're a founder. If you're not, consolation prizes are a) you're in the best hiring market for your skillset in the history of ever and b) you've probably got what it takes to me a founder next time.

[+] i.e. This is a description of the world, not the world I would like to be living in.

<comment><USER7> I wonder if some of them would be good big company CEOs or even middle managers, given they are generalists.

<comment><USER3> I think most generalists are bound to end up in management roles, as they are most qualified to understand the skills of widely varying technical employees as well as their own gaps in understanding such that everything fits together in a diverse project.

</comment></comment></comment><comment><USER8> They did do you a favor, but not only for the reasons you think. They got you off the sinking ship early. Seriously, what kind of bumbling fuckwit fires a highly productive employee for not being a specialist? Broad-based problem solvers are a serious value.

<comment><USER9> If other employees of that company are rational they should start expecting the same thing to happen to them. And desert. So yes, the likelihood of that ship to sink should go up quite a bit. But it is not guarantied. The company can succeed regardless, or change, or fail for a completely different reason.

</comment></comment><comment><USER10> Applaud your can-do attitude, but I don't agree that makes getting fired a good thing. I hope you get to keep your equity.

Also, I'm a little skeptical. It's very rare that people get fired while doing a really great job and being well liked. It's not impossible, but it definite smells a little unusual to my bs detector.

<comment><USER11> Nope - no equity. Was a few months away from my one year cliff.

I still haven't figured it out yet. I haven't spoken with the CEO since it happened. I do know that there was meaningful blowback within the team, but that's about it.

<comment><USER12> _Nope - no equity. Was a few months away from my one year cliff._

You are surprisingly restrained for someone who got cliffed.

Did you get a severance, at least? An Agreement of Introduction? (That is, the CEO agrees to a positive reference and to introduce you to investors on favorable terms, preferably in a legally binding document.) If not, you should have burned the company down. AoI is the absolute minimum you should take after getting cliffed like that.

If you have savings, it can sometimes be wise to let them go on severance (they're cash-strapped) and take the AoI, because a good reference (+ intros) from a CEO can do a lot for your career. On the other hand, if you got no equity, no severance, and no AoI and you didn't blow the company up, then you're a pussy (no offense).

<comment><USER11> Nope, none of those. I did get about 18 days of severance pay. The CEO did offer to make introductions, but nothing legally binding. I still like the company and the team - no use burning bridges. I like to leave on good terms.

<comment><USER13> You are mindblowingly naive.

</comment></comment></comment></comment></comment><comment><USER14> "But get this through your head: if you're not the best at something, you're replaceable."

I disagree. I theory this might be true, but in practice, it's not. I'm often not the best X for a particular job/role/etc, but _I 'm the best they're going to find_.

Perhaps especially in software, _THE BEST_ in their field are already turning down work and forging their own paths. THE BEST developer in tech XYZ is not going to close down their startup or leave MS or Google or Amazon to come work for your company's 'agile' team.

I feel pretty strong that generalists have the edge in most cases, because they _generally_ have a broader background and can see bigger picture stuff, often can see patterns of how different areas connect (code areas, business areas, etc). You certainly need specialists at some point, but rarely are those specialists _the best_ in their field.

I've had a few phone calls with potential clients (and earlier, job negotiations) where people pulled this "we only look for the best XYZ people". At one point during a conversation I told someone (politely, I think) that I happened to know some of 'the best' people in the field they were looking for, and there was no way they were going to move across the country, take an 80% pay cut, and uproot their entire family to come work in some mid-level corporate dev team. On the other hand, I happened to be pretty good and would be interested in stopping by the next day in person to see if I could help solve their problem.

Actually, I've used that 'line' (not always the same words, but the same gist) on a few occasions, and in one case got me a foot in the door. It's more about delivery with a bit of humor, catches people off guard I think.

<comment><USER15> This is useful insight, thank you.

</comment></comment><comment><USER16> I enjoyed the blog post and your writing style. I don't have any info aside from what you wrote about, but it sounds strange that you were fired when you were doing things like improving conversions by 400%. My gut instinct, which could very well be wrong, is that either there is a "behind the scenes" reason for you being let go, or the company is doing something seriously wrong. If you have any reason to suspect that it might be the former, you should ask your former teammates. It will help you out in the long run. Anyway, best of luck to you!

</comment><comment><USER17> People are way to literal here,actually believing what comes out of the mouth of people who fire one of the founding team 13 days before christmas out of the blue. This has nothing to do with generalist/specialist of any of the other assorted lying bullshit they mentioned.

I will propose two theories. The board required a more experienced hire, the directors bent over. They are growing and got greedy,this is an equity grab.

The attitude displayed by Alex is healthy for his own psyche however this is not in anyway a good thing. Effectively he was cheated out of his startup investment.

</comment><comment><USER18> There's something fishy about this story. Either you're not telling all of it, or...

You joined before money was raised, and possibly got an oversized equity stake that is being clawed back. If you were supposed to have more than 1%, I'd consider it possible. If you were supposed to have 5%, I'd consider it a certainty.

If my guess is correct, you should talk to a lawyer. You may have options.

<comment><USER11> Nope, my equity would have vested at less than 1%. I was still a few months away from my one year cliff.

Lawyer would have been nice, but I already signed an Employer Termination Contract, so what's done is done.

<comment><USER12> _Lawyer would have been nice, but I already signed an Employer Termination Contract, so what 's done is done._

You signed it _without_ a lawyer? Dear God...

What was in the contract? Did you get anything? Given that they clawed back a bunch of equity, you better have gotten 3 months' severance or a _legally binding_ agreement to positive reference and introductions (at your demand) to present and future investors. An AoI (Agreement of Introduction) can make it worth it to go gently into the good night because those intros can make you a founder in your next gig.

If you got two weeks severance and no AoI, then you're an idiot and you should stop blogging about this before you embarrass yourself more. (I'm being blunt because people like you get screwed over every day and the only way to stop it is to fight harder when it happens.)

<comment><USER9> From pure math perspective that 1-yr cliff + 4-yr vesting function should be imperfect for employees AND for companies. Because of uncertainty of stocks ownership and a potential to create sharp conflicts of interests, lawsuits, etc. at the discontinuity. It is fine to have decelerated of accelerated vesting schedule. But there should be no discontinuities.

On the other hand, from a human perspective maybe having such conflict of interests is actually _good_. It gives a chance for CEO to show his true colors _earlier_ and consequently for employees to take note and re-estimate the risk of having the same experience at some later time or even during the exit.

</comment></comment></comment></comment><comment><USER19> >3\. I'm a jack of all trades, but a master of none.

I have to commend you on the brutal honesty. I thought you weren't going to revisit what they said, but you did.

You also mentioned you were fired from another job but didn't provide details... just make sure you examine what happened in each case and there's not a pattern. All I mean is I've seen people have to leave a job for certain behavior, exhibit the same behavior in the next job, and remain in denial about it when confronted.

</comment><comment><USER20> I really wouldn't put much weight behind what's said at an exit interview. Those things are lawsuit minefields.

The important thing is not that what was said, or the firing, the important thing is that he's turning down offers.

Offers are what matter and give you leverage through every employment related negotiation.

</comment><comment><USER21> Why the urgency to get rid of you 12 days before Christmas? You would think that someone that is a valued employee and someone who contributed to the growth of the company would get treated a lot better than that. They could have waited until the New Year, or even given the employee an option to move to a different role. To get him out after 8 months, 12 days before Christmas certainly doesn't sound like someone who was really appreciated.

<comment><USER5> The timing is likely related to the business cycle. Why communicate next year's plans to people it doesn't involve?

I can't say why the plans wouldn't involve him in some way. I don't speculate based on the content of a blog post, and it proves prudent not to believe rationalizations so close relatively to the event. If he didn't see it coming, something was wrong, right?

</comment></comment><comment><USER22> It sounds like he was laid off and not fired. The CEO did not mention that his performance was subpar, or that he violated some company policy or law. The difference, at least in California, is that collecting unemployment is no problem when you are laid off through no fault of your own, but if you we're fired, EDD will need to check with your employer as to whether you we're fired for just cause, and maybe a hold hearing where both sides present their case.

</comment><comment><USER23> Like others, i'm equally skeptical, and would love to argue that being a generalist is bad if you are equally good in anything it has tough sustainability. In working for companies as a dev, this could you in a position of stagnation. It's really tough to keep up with technology these days and making the right choices.

Which brings me to the point that you're telling you've built a successful new website, which boosted revenue. Now that the website is built and launched 2 days before, they are letting you go 14 days before Christmas.

I for one would be pretty upset and demand an explanation other than "a generalist". It seems like a rather rude and insensible act. To do that probably means they did not see anything in your skill set that you would be able to add more value to the company, and so they replaced you with a marketeer...

I must therefor conclude that your website was a one-page infograph with a sign-up button.

Sorry but the missing bits of information are frustrating, and given that I don't see why you shouldn't be pissed off. I would most likely lawyer up. There are some important bits of information missing to be able to make sense of your blog.

<comment><USER24> He was not a developer. Not sure where you got that. He is a marketer.

</comment></comment><comment><USER25> I'm a generalist myself. I'm lucky to see this hasn't happened to me. The best possible solution for this according to me is when you have a clue that the company has outgrown you and you are not visible in the big picture, you should choose to opt out & start finding a better opportunity and be very confident that you would get one, being a generalist. I had a somewhat similar situation, it was new year of 2012 that i had to cope up with a failure of a startup and the CEO handed my cheque with some extra bucks + salary and said "Good bye" and i didn't know what to do, confused but confident. This is no where related to the story above but i was employed one week from the time, that is because i'm a generalist. But i have now concentrated more onto one area and it utterly sucks being specialist keeping in mind that you were a generalist before and you got many toys to play with and now its only one toy. But hey, Cheers! Change is awesome!

</comment><comment><USER26> Is there any guarantee that your (about to be former) employer tell you the truth about why you're being canned? I don't believe so. They may just be giving you what they think is a safe answer. The real reasons for ending your employment with them could be anything (good, bad, silly, or even non- reasons). Nothing to take personally.

<comment><USER27> You will almost never be told the truth about why you're fired, unless it's for an absolutely clear-cut policy violation or other similar reason.

<comment><USER28> Being fired is very different from being laid off. In the latter case, there's no reason _not_ to tell you that say your job is being outsourced.

</comment></comment></comment><comment><USER29> The key is to be jack of all trades, master of _some_. Go super deep on one topic, then switch to another, then another. Now you are the best at two or three things, while still competent at another dozen or more.

I also agree that the generalist/specialist saying from the CEO was in poor form and should not be taken too literally.

</comment><comment><USER13> did you get screwed by the 1 year vesting cliff?

</comment><comment><USER30> Tangential to the story but the most obvious question is what company fired Alex - it was Somawater ... drinksoma.com

</comment><comment><USER31> > _if you're not the best at something, you're replaceable_

Bullshit. Maybe this is true for like, an insanely competitive NFL team with limited slots and deep pockets, but for a growing startup, this is simply illogical. I hardly believe there's any expectation for all employees to be _the best_ in their field. Sure, everyone _wants_ the best.. but at the end of the day, they'll settle for pretty good. Especially if they're already hired, on-boarded, well-liked and an integral part of the company (which it sounds like OP was).

<comment><USER14> It's all about what you're measuring too. I would wager that OP was _the best_ business/tech domain expert _for that company_ that one could find, simply because he was there from the beginning and had a hand in building a lot of stuff. No one else coming in is as good at knowing the history of the tech at that company. So, he was 'the best', but they didn't care about that knowledge.

</comment></comment><comment><USER32> That was a very good article. The writing style is very "conversational", like a friend relating a story to you. I have never been fired before but friends always tell me that after being fired a lot more opportunities opened up for them. It's like being fired provides them with more impetus to seek a quick bounce back.

</comment><comment><USER33> As a high school student looking into the Hacker/Startup scene, I was pretty scared about the nature of unpredictability and instability of startups. But this post really changed the view on the whole idea (failure isn't necessarily bad), now I feel more confident to work on making stuff!

<comment><USER11> That's awesome and very cool to here (I wrote the article by the way). Wish I had this mentality in high school. You're young - take risks! Work with interesting people. Work on cool projects. The rest will work itself out.

</comment></comment><comment><USER34> I think being a generalist is somehow better (or safer?) than a specialist.

Although you may not be able to find a position in a large company, small companies really need this kind of people. Maybe the salary isn't high, but it's relatively easier for a generalist to find a job. This can be important especially in the technology world where everything changes very fast. Imagine if you were a specialist in Blackberry making the best mobile hardware keyboard in the world ten years ago, you would not expect everyone uses touchscreen now, it would be difficult for you to find another similar job. Even if you are willing to give up on the aspect you are good at, and learn something new to chase the trend, it takes time as well.

</comment><comment><USER35> I think you can shorten it to "You are expendable" without any qualifiers. Unless, perhaps, you have dug yourself in so deep that nobody else can do your job - not because of lack of expertise but because only you know how it works (bad practices).

</comment><comment><USER36> When I read this "I ran a viral email campaign that signed up a person a minute for the week preceding launch, and then generated a firestorm of media coverage when the product opened for business. Shit, I had just released a new version of our website two days prior that improved on-site conversions by 400%.", I was wondering if the OP did all these alone? Not giving credit as it is due will definitely cause friction once the team grows.

Being a generalist is never an issue, as long as that role contributes value to the team. Taking oneself too seriously, however, will be.

</comment><comment><USER37> Blog posts like this make me feel concerned that I'm becoming a generalist right now and I'm not sure I can avoid it. I'm on a really small team doing development of both front end (Javascript/HTML/CSS) and backend (PHP for our back end, SQL db, node server for websocket updates and some other stuff). I feel like I don't spend enough time doing any one thing in order to be considered a specialist at any of it, just passable enough to get done whatever needs to be done at the time.

<comment><USER38> That's called "full-stack web developer".

<comment><USER39> And lots of companies specifically advertise that they want you to be able to work across the stack: if they only ever have front-end and back-end engineers, how will they fight problems that develop at the intersection of the two?

Being a generalist can be a specialty. In a lot of respects, that's what a PM is, too.

<comment><USER40> by talking to eachother?

<comment><USER14> They need to have enough experience in the other side of things to know the language. I can talk at someone all day long, but if I only speak English and they only speak Dutch, it's going to take a hell of a lot longer to get anything done.

</comment></comment></comment></comment></comment><comment><USER41> Since you're determined to be a specialist at your next job, what are you planning on specializing in? I always like to hear about skills people are excited about.

</comment><comment><USER42> this guy is blowing his own trumpet all the time, and possibly the reason why he got fired. If this was the case, it was totally justified.

</comment><comment><USER43> a VP of marketing with 25 years experience is a generalist.

Its not like a senior marketing person is going to be in the trenches and detailed knowledge of all the marketing disciplines.

Sounds a bit fishy to me maybe the incoming marketing guy was best mates with some one eh?

</comment><comment><USER24> Adding a comment as someone who knows the author: You should hire this guy. Find a way to interview him at least. You won't regret taking the time to get coffee with him, at least.

</comment><comment><USER44> I am not sure that if you're not the best at something, you're replaceable. I think that both specialists and generalist are important at any stage of a company.

Am I missing something?

</comment><comment><USER45> People who don't code are normally replaceable.

<comment><USER46> Don't kid yourself, there are lots of companies all over the world that has specialized in taking over your coding-job at a fraction of the cost and you only have to pay per hour, not hire them for eternity. Some of them even talk english without using google translate.

<comment><USER45> True. So everyone is replaceable.</comment></comment></comment>


Atom: Hello Windows - <AUTHOR> http://blog.atom.io/2014/07/09/hello-windows.html <comment><USER2> The joke: a past Microsoft keynote by Steve Ballmer.

[https://www.youtube.com/watch?v=Vhh_GeBPOhs](https://www.youtube.com/watch?v=Vhh_GeBPOhs)

<comment><USER3> I thought the "web developer love" reprise was done in very good humour:

[https://www.youtube.com/watch?v=I14b-C67EXY#t=102](https://www.youtube.com/watch?v=I14b-C67EXY#t=102)

There's a rough and ready likeableness about Steve Ballmer's personality I've always kinda liked.

</comment></comment><comment><USER4> I'm glad I didn't waste the time to build this my self several weeks ago. It's completely inaccessible with my screen reading software.

</comment><comment><USER5> Atom can't handle opening files more than 2mb in size right now. That makes it stunningly useless.

[http://www.reddit.com/r/programming/comments/2a80ae/atom_now...](http://www.reddit.com/r/programming/comments/2a80ae/atom_now_available_on_windows_atomio/cisoe9p)

Also, the install has 11,000 files in it.

This is amateur hour.

<comment><USER6> Can't remember the last time I opened a 2mb file in my code editor.

And who cares about the number of files. It's not claiming to be usb-stick portable.

<comment><USER5> I don't have a separate code editor and data viewer... I have a program I'm running that allows me to view and modify text files. The data I work with is often in flat files, and frequently in the ten to hundred megabyte range. Sometimes gigabytes or even tens of gigabytes.

Number of files... Let's move it around a few orders of magnitude to see how you feel. All else being equal, which program would you rather have on your system, one which is in 10 files... or one which is in 10,000,000 files? At some point, I think you'll agree, the large number of files installed for a program is an indication that the developers are doing things wrong.

<comment><USER6> > Let's move it around a few orders of magnitude to see how you feel

Haha! What a tactic for an argument. I'd love to see that added to yourlogicalfallacy.is but it's so absurd it'd never make the cut. I do feel like you've captured lightning in a bottle there though sir, you've made my day :)

<comment><USER5> Your argument is "you don't care." My argument is, "yes, you do, outside of some limits. I'm not willing to GUESS those limits to convince you, so let's push the numbers hard. SEE, you do actually care at some point."

Your argument that "you don't care" is not the whole truth.

Calling my argument absurd is rude. Feel free to say you're not convinced.

</comment></comment></comment></comment></comment><comment><USER7> Hopefully the Linux version isn't too far away!

Speaking of which, their distribution mechanism (Chocolatey) seems interesting. For folks who use Windows, I'm sure an apt-get/brew equivalent would be really useful. The last time I tried to develop on Windows, I was totally shocked to discover that there wasn't any kind of package manager inside Cygwin -- and trying to install command line utilities outside of Cygwin was even worse.

<comment><USER8> [http://www.webupd8.org/2014/05/install-atom-text-editor- in-u...](http://www.webupd8.org/2014/05/install-atom-text-editor-in-ubuntu- via-ppa.html)

</comment></comment><comment><USER9> Huge kudos for using Chocolatey. It's the Homebrew of Windows and it's magnificent to use. I hate trolling around for installers on dodgy websites.

</comment><comment><USER10> Is there a way to speed up boot time? It takes a bit less than 4 seconds on i7 to load up text file, which is way too long for a text editor.

<comment><USER11> Notepad++ takes ~10 seconds to load on my Windows 7 dev machine...

<comment><USER10> Loads under 400ms on mine. Not sure why Atom takes so long.

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

<comment><USER13> Thanks. Burying this one as a dupe.

</comment></comment><comment><USER14> Jesus, I've never realized how similar it was to Sublime Text.

<comment><USER15> In use, it is very different from Sublime Text. Especially the plugin system is far more powerful.

I still prefer Sublime though, Atom is still too immature, and some packages I need don't exist yet or are far too unstable.

That, and Atom is just far, faaaar too slow at the moment.

<comment><USER16> care to list a package that you need to that isnt in atom yet? (i would love to take a crack at building it)

<comment><USER15> Most importantly I miss SFTP. There's already a github project for sftp, but at the moment it's almost unusable. [https://github.com/jules-r/atom- sftp](https://github.com/jules-r/atom-sftp)

I also really miss bracket highlighter, it's a super small tool, but very useful. You could tackle the bracket highlighter plugin, it might even be possible with pure less/css depending on if Atom already has this built-in.

And I miss being able to run a Python REPL in Atom. Python and JS are my main programming languages.

</comment></comment></comment></comment><comment><USER17> meh</comment>


The Race to Next-Gen 2.5D/3D Chip Packages - <AUTHOR> https://semiengineering.com/the-race-to-next-gen-2-5d-3d-packages/ <comment><AUTHOR> Will IC packaging save Moore's Law?

<comment><USER2> Scaling will continue in conjunction with packaging, but whether that's Moore's Law is debatable. The economics of traditional shrinking are gone. It now costs more per transistor at each new node. And the power/performance improvements have sharply diminished from pure scaling, probably into the range of 10% to 15% versus 30% to 50%. However, by combining architectural improvements (neural nets, moving memory closer to processors and vice versa, faster interconnects) and by stacking memory on die or embedded them in the same package, it's possible to achieve orders of magnitude improvements in performance and power. This has been called More than Moore, and TSMC is now calling it More Moore.</comment></comment>


Anti-Adblock Killer - <AUTHOR> http://reek.github.io/anti-adblock-killer/ <comment><USER2> As an ad company, I Will make an anti-anti-Adblock killer. This is becoming ridiculous.

<comment><AUTHOR> It seems most Adblock users are not especially proud of using adblock, nor do they support anti-advertising activism.

I believe they use ad-blocker for practical reasons, not ideological.

On too many sites, the invasion of pop-up windows and heavily animated ad has became an annoyance. Not only a visual one, but also a technical one. When a page loads, code sends a request to an ad server (+ sometimes third-party plug-in) to render the animated ads. Most of the time, these ads are poorly optimized. As a consequence, the computer's CPU is heavily taxed.

Consumer is always right. If he can't stand ads for practical reasons then it might be the time to re-think how we operate.

<comment><USER3> I would guess that there is a large population of people who use adblock for ideological reasons; your right to display ads stops at my eyeballs.

</comment></comment></comment><comment><USER4> Deja vu [1]

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

</comment><comment><USER5> google chrome does not allow installing it</comment>


JSCrypto — Fast symmetric cryptography in Javascript - <AUTHOR> http://crypto.stanford.edu/sjcl/

<comment><USER2> From the paper:

      Our approach. In our Javascript implementation we propose
      a different approach that keeps the code small and speeds up
      encryption/decryption. Instead of embedding tables in the
      code, our library contains code that precomputes all tables
      on the browser before encryption or decryption begins. Since
      code to precompute the tables is much smaller than the tables
      themselves, we keep the library size small. We reap the benefits
      of precomputed tables by quickly building the tables on the
      browser before the first encryption. The only values we hardcode
      are the 10 round constants, which are 28 bytes total.

      Precomputing the tables takes about 0.8ms on Google Chrome and about 8ms
      on Internet Explorer 8. Because this saves several KB of code,
      it is nearly as fast to precompute the AES tables as it would
      be to load them from disk. Moreover, computing the tables in
      the browser is far faster than downloading them over the network.

Amazing implementation.

<comment><USER3> Another way to think of it: because tables used in encryption algorithms are often very difficult to compress with conventional algorithms, deriving the tables from their pre-compute algorithms is a much more efficient means of compression.

</comment></comment><comment><USER4> This is a very cool library that is going to be abused far more often than used correctly. In particular:

* In online Internet applications, it can only be delivered safely on pages for which every resource is delivered over HTTPS. Most developers aren't going to see the point of using both HTTPS and JSCrypto. The ones who choose simply to use JSCrypto have totally insecure applications.

* For the task of creating applications with Tarsnap-like insulation between the server and customer data (ie, a backup system where the server can't read your data), this library won't work; any application that delivers this library can in a myriad of subtle and undetectable ways sabotage its security.

<comment><USER5> Witness: An unending series of Stackoverflow questions on doing encryption in Javascript, all of them much like this one: [http://stackoverflow.com/questions/1528012/secure-login- publ...](http://stackoverflow.com/questions/1528012/secure-login-public-key- encryption-in-php-and-javascript) .

<comment><USER6> The most revealing thing to me was that you can buy an SSL certificate for as little as $30 these days (GoDaddy). It's been a while since I've had to order one for my company, but I seem to recall it costing several hundred dollars the last time I did it.

<comment><USER7> $30 is expensive; SSL certs have been free for a little while: <http://www.startssl.com/?app=1>

</comment></comment></comment></comment><comment><USER8> I've been using the table method with Gibberish AES, although I don't compile the tables, I'm not sure the size benefit is that significant.

<http://github.com/markpercival/gibberish-aes>

The advantage of mine is that it's fully OpenSSL compatible and plenty fast. 20k of text on Chrome take .064 seconds to decode and encode.

But I love the idea of compile on load, might have to steal it :)

</comment><comment><USER9> Of course, "fast" is very relative. A quick test with 'openssl speed' on my laptop (two years old, power-saving mode cutting performance in half, using one of two cores) shows OpenSSL is roughly a hundred times faster than this library on Firefox.

Which is not to say that getting to this point is not an achievement; JavaScript isn't exactly the best language to implement cryptographic algorithms in.

<comment><USER3> If you just added support for some primitives (like some sort of 32BitArray or 64BitArray) then you'd probably be able to get within an order of magnitude of OpenSSL.

</comment></comment><comment><USER10> JavaScript has come a long way.

It feels weird that these days when I am trying out some fun projects or algorithms, I prefer using JavaScript to build a prototype if possible. JavaScript is fast enough for my small computing needs & It does not require anything else to run other than a browser.

WebSockets, HTML5 (Canvas + Web Storage etc)... Really exciting.

</comment><comment><USER11> I am typically one of the opinion that if you are doing crypto in javascript you are doing it wrong. Talks like [http://rdist.root.org/2009/08/06/google- tech-talk-on-common-...](http://rdist.root.org/2009/08/06/google-tech-talk-on- common-crypto-flaws/) provide insight and let us not forget <http://chargen.matasano.com/chargen/2006/4/28/oh-meebo.html> Besides it is very difficult to have javascript return sutiably random numbers cross platform. If you need to encrypt browser traffic use ssl instead of some half- assed pseudo-secure javascript mess.

Sorry JSCrypto team, while your implementation is awesome and all, you are doing it wrong.

<comment><USER12> While your caveat is true for people using this on the client side, what about people using javascript on the server side ?

Though its probably best to use C wrappers to established crypto libraries on the server side, we shouldn't underestimate the ease of use which comes with using pure javascript libraries.

<comment><USER4> There's nothing intrinsically unsafe about serverside Javascript crypto, but there's something practically unsafe about directly using AES anywhere.

In the meantime, serverside Javascript as a rule has access to better native AES code. The browser definitely seems like the motivating use case here.

</comment></comment></comment><comment><USER13> This could be an awesome combination with Node.js.

<comment><USER14> Then you may enjoy node-crypto: <http://github.com/waveto/node-crypto>

<comment><USER13> Thanks! Added to my collection of node.js things.</comment></comment></comment>


Ask HN: College Math/Science Degree vs. Self Study? - <AUTHOR> Besides the group psychology aspect of studying together with others, are there any significant advantages to studying Math/Science in a formal college degree program as opposed to going it solo a la Khan Academy, Coursera and others? <comment><USER2> A STEM degree will qualify you for many thousands of jobs. Self-study will qualify you for far fewer.

Whether online or in a physical classroom, having a great professor is hugely valuable. High-quality teaching, including back-and-forth discussion, help you reach deeper understanding much faster than self-study (for most topics).</comment>


PCG, a Family of Better Random Number Generators - <AUTHOR> http://www.pcg-random.org/ <comment><USER2> _Although this website gives you a taste of what the PCG family is and can do, the technical details are given in the paper, PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation. This paper is currently submitted to ACM Transactions on Mathematical Software, where it is currently under review._

[http://www.pcg-random.org/pdf/toms-oneill-pcg- family-v1.02.p...](http://www.pcg-random.org/pdf/toms-oneill-pcg- family-v1.02.pdf)

It's a fine paper, and so far as I can tell, a fine technique, but it's been "under review" for a long time now. Review can take a long time, but this is certainly on the slower side. I wrote to the author a while ago inquiring, but never heard back.

Another interesting recent approach is xoroshiro128+ by David Blackman and Sebastiano Vigna (email@example.com): [http://xorshift.di.unimi.it/xoroshiro128plus.c](http://xorshift.di.unimi.it/xoroshiro128plus.c). Elsewhere, he pans PCG as not yet being peer reviewed: [http://v8project.blogspot.com/2015/12/theres-mathrandom- and-...](http://v8project.blogspot.com/2015/12/theres-mathrandom-and-then- theres.html).

Melissa O'Neill (author of PCG) compares it with Vigna's earlier XorShift+ in comments here: [https://www.reddit.com/r/programming/comments/2xpr45/pcg_a_f...](https://www.reddit.com/r/programming/comments/2xpr45/pcg_a_family_of_better_random_number_generators/). The video is also a nice introduction if you prefer audio and pictures to text.

Personally, I'd be interested in seeing more analysis of "counter based" PRNG's that use hardware cryptographic approaches but with a reduced number of rounds: [http://www.thesalmons.org/john/random123/papers/random123sc1...](http://www.thesalmons.org/john/random123/papers/random123sc11.pdf). AES has hardware support in modern processors, it's quite fast and passes all current tests for randomness, but (so far as I know) the approach hasn't yet received much academic attention. Salmon offers a Boost implementation here: [https://github.com/johnsalmon/boost- random123](https://github.com/johnsalmon/boost-random123).

<comment><USER3> There's a recent family of AES-based designs, explicitly exploiting AES-NI, that would make a good starting point for fast secure PRNGs: [https://eprint.iacr.org/2016/299](https://eprint.iacr.org/2016/299).

</comment></comment><comment><USER4> What is the scenario for which I need decent-but-not-cryptographically-secure random numbers at such a rate that the speed of the RNG is material to my design?

Serious question!

<comment><USER5> Procedurally-generated environments.

<comment><USER4> Salsa20/8 is something like 2 cycles per byte. That's too slow for procedurally generated environments?</comment></comment></comment>


Kids in the City : Bus Schools, a film by IRIN. - <AUTHOR> http://www.irinnews.org/film/?id=4739 <comment><AUTHOR> I'm interested to hear ideas from smart, entrepreneurs about this scheme.</comment>


Ask HN: Recommendation for an App to Help Navigate the Legal System - <AUTHOR> Are there any apps that can help you navigate a country's legal system?
There are plenty to learn legal system. But I want an app which describes the law in different levels of detail and helps quickly find laws/regulations in specific areas.
Does anyone know of something like this? Or anything similar? <comment><USER2> Disclaimer: I am not a lawyer, and nothing I say here can be taken as legal advice.

The problem that you have here is that what comprises the "legal system" varies by locality, and there are infinite varieties thereof.

At the highest level, we have the laws as they are written, in each of the many jurisdictions — many of which may overlap, and have confusing interpretations as to which takes precedence when.

Then we have the laws as they are officially interpreted and written down by the courts. Again, with many potential overlapping jurisdictions and interpretations. This is called "Legal Precedence".

Then we have the laws as they are interpreted and applied by the courts and legal system, but where those acts are not written down.

Many laws firms have built a business on deeply understanding just a tiny sliver of that stack, and they know that when the laws as written and the precedence is applied will differ when handled by one judge versus another.

Things get even more weird when you talk about laws in one country versus those in another.

And most lawyers who are familiar with a good understanding of laws in one jurisdiction may not have any useful knowledge of laws in another jurisdiction — in fact, their beliefs about those laws might be detrimental.

For example, France doesn't have a Federal Legal system. They have Common Law, which means a great deal of what would go into a contract doesn't need to be written down, because it's considered common, and therefore there is nothing you could write down in a contract that would override it.

The international insurance giant Chubb had a case go all the way up to the French Supreme Court (Court of Cassation), which hinged on whether or not you should adhere to the spirit of a contract or the letter of the contract. Chubb wanted to avoid paying out millions of dollars on a particular claim, so they advocated for adhering to the spirit of the contract — unlike the rest of the entire multi-trillion dollar insurance industry. You can imagine how the rest of the industry felt about that. Fortunately for them, Chubb lost.

In China, if you were to look at the laws as written, you might think they were quite reasonable. In reality, the law in China is really whatever the judge says it is, and the written law is pretty meaningless. So, any contact under Chinese law is really only enforceable to the degree that you can get the judge to make it so — whatever that might take.

In both France and China, the only official legal version of a contract is the one written in their native language. Any version in any other language is just "for your information" and has no legal bearing whatsoever. Moreover, there is no requirement for a translation to be accurate. So, you might think you're signing a contract that says one thing, and in reality the contract says something totally different.

Finally, plenty of lawyers seem to have Hubris as a major problem, and they seem to think that because they read all the books, they know everything there is to know about a particular law or jurisdiction. And lawyers aren't the only ones to make this mistake.

So, to think that you can incorporate all this knowledge into a single simple system, well that is ... folly. A Fools Paradise of the highest order.

Lexis-Nexis would be happy to sell you a license to their system, but that only scratches the surface and only in some jurisdictions, and is only useful to you if you already know the pitfalls of the legal system, and you know how to use the tool to give you the answers you need.

Disclaimer: I am not a lawyer, and nothing I say here can be taken as legal advice.

That said, my wife is a lawyer, and she has built her practice on trying to help her clients avoid legal land mines with regards to doing business internationally.

<comment><AUTHOR> I appreciate your detailed response, and am fascinated by the complexity of legal systems around the world. I can reveal that I'm from Australia and our legal system seems to be good, but there's so much legislation to sift through to find something!

One thing in common with all countries legal systems is that they are extremely complex, and no single person has an understanding of the entire system. It's also apparent that laws only become _more_ complicated as different amendments account for more different situations.

I think a good analogy for a legal-system is a software-system, here are some similarities:

\- Both begin as simple systems and become more sophisticated to account for more conditions.

\- Both use a language of logic to determine how things happen.

\- Both _usually_ only add more code, not delete old code.

There are many subtleties in Law, but in essence it's just a set of rules (albeit complex) which a society has to live by. The system I'm proposing would not be simple, and all-encompassing, but it should be easy to query:

\- Laws/regulations

\- Related precedence (cases, trials)

\- History of changes

Maybe it could simply be a CMS which links to legitimate government websites. I just thought it could be made simpler to digest for _citizens_ (not lawyers) with software...</comment></comment>