How much better was DEC Alpha than contemporary x86? - <AUTHOR> https://retrocomputing.stackexchange.com/questions/13611/how-much-better-was-dec-alpha-than-contemporary-x86 <comment><USER3> At the time that Alpha came out, the x86 was struggling to get more clock speed, and the groupthink was that RISC was the way forward. RISC chips would run at 4-8x the clock speed of an x86 and even when you adjusted for needing 2-3x more instructions, RISC was 50-200% faster.

DEC had a winner with Alpha. It had speed, and most importantly, you could run Windows NT on it. NT mattered because most Unix vendors at the time wanted $1,000/CPU for their licenses, and NT was $cheap (the OEM version was around $300 if I recall correctly).

As other posters have said, DEC just could not get out of their own way and let Alpha succeed. Wierd sales policies, hostile partnerships, and intense competition all really stymied DEC. A lot of the weirdness came from trying to protect their legacy base of VAX and PDP midrange systems and a general hatred of IBM (who was pushing OS/2).

BTW as I recall, Windows NT supported x86, Alpha and MIPS (another RISC vendor) with the first commercially available version of NT. MS added a few other RISC architectures in the following years (ARM most notably). x86 closed the speed gap a few years later with the Pentium II (the Pentium Pro was largely used in servers) and the rest is history.

<comment><USER4> In ~2000 I knew someone using NT on an Alpha. It wasn't a better experience than my 2 year old P2, and they had paid more for it.

<comment><USER5> Shortly after I graduated in '98, I purchased an Alpha that ran both NT and some Unix (I forget which?). This purchase was motivated by nostalgia for the DECs in the computer lab at school, which were awesome, although I agree that in the long run I wasn't completely satisfied with it.

<comment><USER6> Ultrix

<comment><USER7> I think alpha was also the first non-x86 architecture that Linux was ported to, in the mid 1990s.

<comment><USER8> Linus was a big fan of alpha.

<comment><USER7> Yeah, I remember writings and interviews from that time period, where he spoke and wrote well on the subject.

Can't say I understand very well what was going on in his mind, but somehow I got the impression that some of that was not totally specific to alpha in particular, but that alpha represented non-x86 at large, and he was excited and enthusiastic to tackle the technical problem of making the kernel portable. And certainly it paid dividends; eg. linux on ARM is running on billions of devices today, and that surely would have been more work had they not decided to make the kernel portable in the first few years of its history.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Which alpha? The 21264 was introduced in 1996. It was a 4-issue out of order processor that could have 80 instructions in flight. It had 2 LSUs and could clock up to 500 MHz initially.

The Pentium Pro, released in late 1995, was a 3-way design clocking up to 200 MHz. It was surprisingly competitive. It had all the modern requirements: out of order execution, out of order memory pipeline, on board L1 and L2 caches. It just had less resources in each dimension. Intel caught up to 500 MHz in 1999, with the PIII. That was still a 3-day design. Intel's first four way design was the Core 2 in 2006. That could hold 96 instructions in flight. Intel didn't release a CPU with two load store units until 2011 (Sandy Bridge could do two loads per cycle) or possibly 2019 (Sunny Cove was the first that could do two stores per cycle).

Obviously, Intel caught up based on a combination of features long before then. I'd guess around early 2000s, when clock speed hit 1 GHz+. Clock for clock, the Pentium Pro wasn't actually that much slower than Alpha on integer code. It took much longer for intel to be competitive on floating point code.

(By the way, it blows my mind that we went from 200 MHz to 1 GHz in about 4 years. Meanwhile, it's been 15 years since my first 2 GHz+ MacBook, and a new MacBook still has a base clock around that range. Maybe it'll turbo boost to 4 GHz for 10 seconds before it exceeds its thermal envelope.)

<comment><USER10> > Maybe it'll turbo boost to 4 GHz for 10 seconds before it exceeds its > thermal envelope.)

Actually that's on Apple, the manufacturer, for choosing to undercool these chips (probably thinking that most people won't care, which I tend to agree with, but it's problematic when the machine is sold as a "Pro" device).

Anecdotal comparison, my Thinkpad sustains its 4 GHz for hours on end no problem. There's no comparing the performance of these i7 / R7 with decade-old dual cores at 2 gigs, it's just unfair.

<comment><USER11> > but it's problematic when the machine is sold as a "Pro" device

I'm so tired of this trope. Do you think there's a single definition of Pro and it's yours?

<comment><USER12> If you sell me a "Pro" machine, I expect to be able to fully utilize all its resources for as long as I need to. While I don't need full power all the time (once or twice a month I need it for more than 10 minutes), when I need it, I'd prefer it to be available for more than a couple minutes at a time and not make my laptop sound like a hair drier and compute like an Atom laptop.

Having said that, my 15" MBP is sufficient for my needs, but I'd not recommend it for anyone doing heavy numeric lifting. Or compiling large volumes of code.

</comment></comment></comment></comment><comment><USER13> The Alpha had an incredibly weird memory model that could create this behavior:

 _Assume: p= &a, a=1, b=0_

      Thr. 1         | Thr. 2
      b = 1          |
      memory_barrier | i = *p
      p = &b         |

_The result can be i = 0_

Even though p=&b happens _after_ b=1 in Thread 1, it is seen as happening _before_ it by Thread 2. This is basically because the b=1 part might get ignored by Thread 2 unless that thread also goes through a memory barrier of its own. When the i = \\*p is executed, Thr. 2 might read p from main memory as written by Thr. 1, but then still rely on the old b=0 value sitting in its cache. It's hard to describe that as being "superior", but maybe it enabled some performance optimizations in the common case that made it worthwhile.

<comment><USER14> I'm not sure I understand your example. The Alphas had a pretty standard MESI cache architecture and a very typical cache coherence behavior. It's true that individual CPUs require barriers to enforce ordering, which is _not_ true on x86 (where the architecture guarantees consistent ordering or memory operations between all entities on the bus, and spends significant die area to do that). But honestly x86 is the odd architecture here -- almost no one else felt that was a good tradeoff. (In hindsight, x86 was right, of course.)

Where Alpha was weird was in its floating point implementation (two versions on chip! to support the crazy VAX formats that no one cared about even at the time) and its alignment requirements (the hardware, not really atypically, couldn't make a misaligned load, but actually "could" by trapping into a microcode handler that was 10x slower, leading to mysterious insane performance regressions).

<comment><USER15> Why should the hardware do something software can take care of just as well was the design philosophy here.

<comment><USER14> Because when it doesn't, it leads to "insane" results like the one upthread. Reasoning about memory barriers is outrageously hard, and asymptotic software quality is outrageously expensive. At the end of the day an x86 kernel is going to have fewer race conditions than one for a traditional architecture, and that's worth something.

This is a lesson that software folks have been pushing with tools like static typing and memory lifetime analysis. The same applies at the hardware level.

<comment><USER13> You "just" need a memory barrier on every ptr indirection (including array indexing, etc.) that might go through something that's being shared among multiple threads. The more interesting question is whether requiring that additional barrier buys more performance in the typical case where you're _not_ touching shared data.

<comment><USER16> > The more interesting question is whether requiring that additional barrier > buys more performance in the typical case where you're not touching shared > data.

Probably yes, i.e., there was some hardware reason for it. You can find one explanation [1] floating about that explains the effect was due to the cache banking design, with separate invalidation queues for each bank. Presumably that was better in some respect than the alternative designs available to implementors.

That said, the difference is probably fairly _small_ and if Alpha were around today they would almost certain want to abandon that particular reordering since they are the only one doing it and there would be a lot of pressure on them to make it fast (this comes up in all sorts of non-trivial scenarios like double checked locking, reads of final fields in Java, etc).

That's generally the pattern, I think: if you are the odd man out with the weakest model, and you aren't the dominant player, you will have a lot of pressure to at least offer fast ways of lining up with the stronger models. So even if a weak model is a better design point in a vacuum, it might not be true when real-world implementation pressures are considered.

\---

[1] [http://lse.sourceforge.net/locking/wmbdd.html](http://lse.sourceforge.net/locking/wmbdd.html)

</comment></comment></comment></comment></comment></comment><comment><USER17> I still run an AlphaServer DS25. It's amazingly quick, even in 2020. It outperforms CPUs which came years after it.

People sometimes think that the market caused the Alpha to fail. Really, it was Intel. They wanted Itanic to succeed so much that they made a deal with HP to end the Alpha prematurely, even though demand for Alpha systems was high.

Even after HP announced that the Alpha would stop being developed, Alphas were being sold as a high end systems for all sorts of uses and had many entries in the Top 500List of supercomputers - Alpha systems were four of the top ten on the planet in November, 2002, which was after HP announced they wanted to transition from Alpha to Itanic.

My AlphaServer DS25 is beautiful hardware. Everything in the machine is manufactured to a standard we just don't see any more.

<comment><USER18> In interviewed at Intel & DEC in '95, worked at DEC 96-97

Corporate infighting, incompetent sales, and misaligned vision pervaded the culture. It didn't help that PPro came out of left field and took everybody by surprise

When I interviewed at Intel in '95, they were absolutely giddy with how they stole Alpha's thunder. DEC was a better geographic choice for me, and, well...

HP didn't come into the picture until long after - DEC sold to Compaq in '98, Compaq to HP in '02\. The race was over at least 7 years before that.

Edit: Not to mention the absolutely hostile stance DEC took to MS wrt NT. Due to Cutler's involvement with NT, DEC sued MSFT and somehow thought that would make MSFT become a loyal partner.

I remember Office 97 performing terribly on Alpha. We sent a compiler guy there to figure out why; turns out the Office team had a single Alpha in their pipeline, set to compile -O0, and pretty much said "this is there to check the lawsuit checkmark"

<comment><USER19> >turns out the Office team had a single Alpha in their pipeline, set to compile -O0, and pretty much said "this is there to check the lawsuit checkmark"

what does this mean? compile -O0? lawsuit checkmark?

<comment><USER20> -O0 means compiling without optimization. Presumably they were contractually required to have a version Office for Alpha, so they did the minimum effort thing to produce one.

<comment><USER18> Exactly this

</comment></comment></comment></comment></comment><comment><USER21> I actually bought myself an Alpha for my home machine as a grad student in 1996. I think they were remaindering low end machines; the Multia[1], a little 21066a machine probably designed to run WNT. What I remember about it in particular is it came with a bum memory chip, and ... somehow they sent an actual service engineer to come fiddle with my computer in the Berkeley hills. He had to do this twice. Can't imagine what it cost for that kind of service; I think I paid a few hundred bucks for the Multia -I was poor! Kind of guessed DEC needed to adjust their business model.

The computer itself was fairly poorly designed, and I remember the memory bus (and g77 compiler) in the thing kept it only about as fast as a contemporary intel chip; it eventually suicided itself during one of Berkeley's frequent power outages.

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

<comment><USER22> I had one of those too, though I feel like I might have gotten it in 1995. I immediately put Linux on it and found that it was quite fast for some tasks where the open source software compiled well on Alpha.

The biggest practical drawback for me was that Netscape wasn't available as an Alpha binary. Running it with the open source FX32 x86 emulator was too slow. It performed about as well as a Python-based browser at the time. I ended up using ethernet to run Netscape and other x86-focused software on a 486DX4-100 with remote X display back to the Alpha which had my nice monitor.

I brought that Multia with me to my first job, and used it to do 64-bit portability work (on Linux) for an middleware/communication project that we were busy porting to many obscure 64-bit HPC platforms. It was fun to have a 64-bit Linux at home, long before x86_64 came onto the scene.

<comment><USER21> Somehow I don't recall this limitation. Maybe someone compiled a version of Mosaic for it? I probably wasn't very webby at the time; grew up on text based interbutts. Was definitely ringing up the University internets using a 19k modem.

I do remember playing Quake on the thing; that was pretty cool.

</comment></comment></comment><comment><USER23> It's also interesting that the Alpha CPU can be blamed for the poor file compression in Windows -

[https://devblogs.microsoft.com/oldnewthing/?p=94615](https://devblogs.microsoft.com/oldnewthing/?p=94615)

 _One of my now-retired colleagues worked on real-time compression, and he told me that the Alpha AXP processor was very weak on bit-twiddling instructions. For the algorithm that was ultimately chosen, the smallest unit of encoding in the compressed stream was the nibble; anything smaller would slow things down by too much. This severely hampers your ability to get good compression ratios._

More Alpha details from Raymond Chen:

[https://devblogs.microsoft.com/oldnewthing/20170807-00/?p=96...](https://devblogs.microsoft.com/oldnewthing/20170807-00/?p=96766)

<comment><USER24> This story has been retracted by the author:

[https://devblogs.microsoft.com/oldnewthing/?p=96915](https://devblogs.microsoft.com/oldnewthing/?p=96915)

</comment></comment><comment><USER25> The thing I remember about DEC Alpha was that they were used as renderfarm processors by special effects artists working in Lightwave on Amiga (for shows like Babylon 5, etc). I used to drool over ads for DEC Alpha "screamernet" machines hooked up to Amiga 4000s. Alas, I was stuck with a Tandy 486 SX...

<comment><USER26> The animation studio I worked for in the mid-late 90s was a Softimage shop using SGI Indigo and Intel pentium workstations with a 20-30 machine Alpha (NT) render farm. It was a very good setup with one weird issue: depending on the type of render being done, especially anything with ray marching, the SGI or Intel workstations couldn't participate in the render because the results looked subtly different.

<comment><USER27> Probably a bug in the render code that made it look different.

<comment><USER26> It was explained to me as a difference in the way certain arithmetic calculation were made in the actual hardware. The render engine was mental ray. It was really only apparent if there were atmospherics, such as volumetric lighting, in the scene. Net renders with the workstations participating would come back with some of the resulting tiles looking noticeably different—the density of the atmospheric effects (ray marching) would appear to have differing densities between the alpha-rendered tiles and the SGI or Intel-rendered tiles.

</comment></comment></comment></comment><comment><USER28> It was none faster because it was impossible to program, without the ability to load or store anything but natively aligned and sized quads and with a quite useless memory order model (essentially anything could be reordered past any other thing). Reading, modifying, and writing one byte on this rig was basically impossible and don't even think about how hard it would be to write a mutex.

<comment><USER29> > essentially anything could be reordered past any other thing

Except for memory barriers. The DEC Alpha command "mb".

x86 has a (relatively) strong memory model, but ARM and POWER9 both have weak memory models. Not quite as weak as DEC Alpha, but weak enough that you need to be very careful about memory-barrier placement in both ARM and POWER9.

XBox360, PS3, and ARM (cell phone) system programmers would know about the difficulties involved. Yeah, its hard to learn, but totally possible to write a mutex.

\</comment></comment><comment></comment><comment>--

There's probably more code running on "weak memory models" today (ie ARM) than on "strong memory models" (aka: x86) today.

> without the ability to load or store anything but natively aligned and sized > quads

Check out the assembly code generated with -O3 with GCC or LLVM. x86 has natively aligned quads for performance reasons, and compilers have also solved this problem. In fact, you'll see plenty of "nop" generated in compiler code, so that all of your assembly is aligned to the cache-line to maximize uop cache issues on modern x86 machines.

x86 doesn't have any REQUIREMENT for aligned assembly code or data. But x86 is far more efficient when reading/writing from cache-aligned locations. (In particular: reading across an 64-byte boundary naturally results in 2x L1 cache reads instead of 1x L1 cache read).

Both the alignment, and memory-barrier, issue are solved today. Arguably, they weren't solved back in the DEC Alpha days (I was too young to be programming at that time)... but modern compilers and toolchains can certainly work with memory barriers and "aligned only" memory.

<comment><USER30> ARM's memory model is stronger than Alpha's especially on ARM64.

It's not about just whether it's possible to write a mutex but also whether you can write a really good one. The best concurrent algorithms - <USER2> mutexes or lock-free data structures - benefit from a careful mix of strength and weakness in the memory model. I think Alpha is too weak. X86 may be too strong - so say smart people - but it still manages to be fast as fuck.

No idea what you're talking about wrt alignment. On x86, you can load/store misaligned. On Alpha, you can't. On ARM, you can on some but not on others. The CPUs where you can are easier to program.

No idea what you're talking about wrt memory barriers. It's not a solved problem. Memory barriers slow things down so it's better not to have to use them. X86 and ARM64 give you tricks to avoid using barriers, or to use cheap barriers, in many important racy algorithms. Alpha gives you fewer tricks. (Specifically x86 gives you lots of ordering "for free" while arm64 let's you use the self-xor dependency trick to cheaply order loads and has a generous buffet of half fences.) The memory model matters a lot - the weaker it is, the fewer tricks programmers have to avoid doing expensive things to request specific orderings.

<comment><USER29> > On x86, you can load/store misaligned.

At a performance penalty. Read or write across a 64-byte cacheline, and your CPU will be forced to perform 2x loads to implement your singular unaligned load. An unaligned load across a cacheline is literally 1/2 the speed of an aligned load, and is something the modern programmer (and compiler) is designed to avoid.

The compiler basically avoids all misaligned loads/stores, even on x86. (Aside from when the programmer really forces it: like _reinterpret_cast <int_>(0x800003f) or something)

\</comment></comment></comment><comment>-

> The best concurrent algorithms - whether mutexes or lock-free data > structures - benefit from a careful mix of strength and weakness in the > memory model.

And all of those algorithms would run CORRECTLY, if those half-barriers were replaced with full barriers. Maybe slower, but they'd be correct.

That "generous buffet of half fences" can only exist on a weak memory-model system (like ARM), because x86 AUTOMATICALLY performs those half-fences after every load / before every store instruction. That's the thing about strong memory models: once you're "too strong", it doesn't even make sense to have those half-barrier instructions.

ARM and PowerPC were too weak 10-years ago. They've "strengthened" their memory model by adding new half-barriers to their instruction set. That's the real secret: to change your CPU over time to match programmer's preferences. ARM / PowerPC started off too weak, but are now approaching "just right", with the addition of new instructions.

DEC Alpha can't do that, because the DEC company died decades ago. Its only fair to consider the programming environment and expectations of the time period that the DEC Alpha existed in.

<comment><USER30> The perf penalty of misaligned loads and stores is incredibly low. JavaScriptCore uses them quite a bit. The penalty is way lower than handling the misalignment by way of a trap, which is what you'd do on Alpha if you had to run some code that was designed to use misalignment. That's just a fact - the original comment was about how this fact made Alpha a worse target.

I think you're glossing over a lot of details about the memory model. What the model says about the ordering of dependent loads isn't a matter of just adding fences later - it's more fundamental than that. Of Alpha achieved it's perf advantage thanks to speculating loads then it would have to lose that advantage when it was modernized to current standards. Also, the original comment was about Alpha back then versus Intel—and-others back then, so it's not interesting to say that Alpha could have just improved - that's not really responding to the original comment about how hard Alpha was to program.

<comment><USER16> > The perf penalty of misaligned loads and stores is incredibly low.

Yeah, this.

You might as well think of them as free in most scenarios involving small reads and writes. If there is some small advantage to misalignment (often, reduced memory use through better packing), do it!

The cross-line penalty would occur only for 3 out of 64 alignments for a 4-byte load: less than 5% of the time, and then the penalty is small.

That % is more or less worst case in well designed code [1]. Sometimes you can do misaligned loads that you guarantee will never cross. A common example is a misaligned LUT where the values overlap. E.g., given n, you want to load 8 bytes with:

      [n, n+1, n+2, ..., n+7]

Let's say n ranges from 0 to 15. A traditional aligned LUT would have 16x 8-byte values, one for each n (128 bytes). You could also do it with a single 23 byte LUT, running from 0 to 22, and a misaligned load into that LUT at byte position n. As long as you align the LUT itself (e.g., to 32 bytes), you will never cross a line.

For large accesses, things become less clear. After all, a 512-bit AVX-512 access is guaranteed to cross if it is misaligned, and 256-bit access randomly distributed cross half the time, etc. Vectorized code is also the type of code that may be written to approach the 2/1 load/store per cycle limit, so it really pays to try to get alignment for any type of non trivial loop.

\---

[1] Specifically, this is the crossing % you would get if you could assume nothing about the distribution of the accesses, i.e., they are uniformly randomly distributed. If you know something about the expected alignment, then you can shift everything to make crossing less likely.

</comment></comment></comment><comment><USER31> One interesting note about alpha is that the reason PuTTY exists is that the creator had a windows NT alpha workstation, but there was no native telnet clients that had good terminal emulation for Alpha NT.

He supported the alpha build well into the 2000s.

<comment><USER32> Funny. I've run a recent x86 putty on Alpha.

<comment><USER31> Are you compiling it yourself? Also, you're still using a windows workstation on alpha? If so, that's interesting.

"We used to also provide executables for Windows for the Alpha processor, but stopped after 0.58 due to lack of interest"

0.68 was released in 2005-04-05.

[https://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#...](https://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq- ports-general)

</comment></comment></comment><comment><USER33> I highly suggest viewing one of the Alpha's original designers, Jim Keller, recent chat with MIT Prof Lex Fridman [https://youtu.be/Nb2tebYAaOA](https://youtu.be/Nb2tebYAaOA) I was stunned by Jim's total command of Computer Architecture, and his deep insights about the subject. I will never again utter the phrase 'modern computer' without requisite awe.

<comment><USER34> Jim Keller and the teams he leads/enables has their fingerprints all over modern CPU architecture - From AMD's K8 (Athlon 64) and Zen (their modern competitive product) to Apple's A4 and A5.

</comment></comment><comment><USER35> MIPS/SPARC/POWER chips were all meaningfully better than x86 chips at the time too. Alpha had the trick that it could kind of run Windows NT, but it was a waste to bother since 3rd party app support was so spotty.

</comment><comment><USER36> DEC was on the forefront of so many technologies and did set so many standards (first Unix machine, vt100, first viable 64-bit processor, first viable search engine, much more even before that).

It is sad to see that this company and its products were brought down by pure political maneuvers and hostile takeovers instead of competition or merit.

<comment><USER37> MIPS beat them on the 64 bit CPU front. And I think some vector supers were 64 bit before that.

<comment><USER36> But MIPS 64 bit didn't outperform the fastest 32bit processor on the market by huge margins. That is what I meant by "viable".

</comment></comment></comment><comment><USER38> In 1993 I had a DEC AXP 3000/300L workstation (Alpha with a 32-bit memory bus). It was fast, but the DEC OSF/1 OS was pretty bad and hobbled the machine.

There were lots of portability issues, for instance GNU Emacs wasn't 64-bit clean whereas Lucid Emacs was, so for two decades I ran Lucid/XEmacs instead.

Alpha was the first microprocessor to hit the billion instructions per second mark (BIPS-0) and was used to build oa 50Gbps router in 1998 using Alphas 21164 with routing code running entirely in L1 cache:

[https://www.cs.princeton.edu/courses/archive/fall12/cos561/p...](https://www.cs.princeton.edu/courses/archive/fall12/cos561/papers/partridge-50gbs-98.pdf)

</comment><comment><USER39> Lightwave 5.5 was about 6x faster than Pentium 66 at the time I used it configured with 256 megs of memory. Which was already faster than what I used at home which was just an Amiga 3000 25 mhz with 16 megs of memory.

</comment><comment><USER40> I had four Digital Ultimate Workstations (=AlphaServer 1200s) with dual 533MHz 21164 Alpha CPUs running Windows 2000 Server back in 2000. They ran Windows 2000 Server much faster than any PC hardware I could get my hands on at the time.

</comment><comment><USER23> _One real-world look at Alpha vs x86 (and MIPS) performance was this .plan post from John Carmack:_

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----- John Carmack's .plan for Jun 25, 1997 \</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-----

We got the new processors running in our big compute server today.

We are now running 16 180mhz r10000 processors in an origin2000. Six months ago, that would have been on the list of the top 500 supercomputing systems in the world. I bet they weren't expecting many game companies. :)

Some comparative timings (in seconds):

      mips = 180 mhz R10000, 1meg secondary cache
      intel = 200 mhz ppro, 512k secondary cache
      alpha = 433 mhz 21164a, 2meg secondary cache

      qvis3 on cashspace:

      cpus    mips    intel   alpha
      ----    ----    ----    ----
       1     608     905     470
       2     309     459
       3     208     308
       4     158     233
       8      81
      12      57
      16      43

(14 to 1 scalability on 16 cpus, and that's including the IO!)

The timings vary somewhat on other tools - qrad3 stresses the main memory a lot harder, and the intel system doesn't scale as well, but I have found these times to be fairly representative. Alpha is almost twice as fast as intel, and mips is in between.

None of these processors are absolutely top of the line - you can get 195 mhz r10k with 4meg L2, 300 mhz PII, and 600 mhz 21164a. Because my codes are highly scalable, we were better off buing more processors at a lower price, rather than the absolute fastest available.

Some comments on the cost of speed:

A 4 cpu pentium pro with plenty of memory can be had for around $20k from bargain integrators. Most of our Quake licensees have one of these.

For about $60k you can get a 4 cpu, 466 mhz alphaserver 4100. Ion Storm has one of these, and it is twice as fast as a quad intel, and a bit faster than six of our mips processors.

That level of performance is where you run into a wall in terms of cost.

To go beyond that with intel processors, you need to go to one of the "enterprise" systems from sequent, data general, ncr, tandem, etc. There are several 8 and 16 processor systems available, and the NUMA systems from sequent and DG theoretically scale to very large numbers of CPUS (32+). The prices are totally fucked. Up to $40k PER CPU! Absolutely stupid.

The only larger alpha systems are the 8200/8400 series from dec, which go up to 12 processors at around $30k per cpu. We almost bought an 8400 over a year ago when there was talk of being able to run NT on it.

Other options are the high end sun servers (but sparc's aren't much faster than intel) and the convex/hp systems (which wasn't shipping when we purchased).

We settled on the SGI origin systems because it ran my codes well, is scalable to very large numbers of processors (128), and the cost was only about $20k per cpu. We can also add Infinite Reality graphics systems if we want to.

<comment><USER41> Ah, the "good old days". $20-30k per CPU? Yeah, I don't miss that.

</comment></comment><comment><USER42> I remember reading a book describing the Alpha architecture as an undergrad. It was so much cleaner than x86. I was sad to see it fail in the marketplace, but sadly it's a common story in tech.

</comment><comment><USER43> [http://alasir.com/articles/alpha_history/](http://alasir.com/articles/alpha_history/)

</comment><comment><USER44> This is what happens when you let business people near technology. They ruin it (Compaq that is).

</comment><comment><USER45> Things I remember about the DEC Alpha machines that were used at University when I was a student:

They were expensive. We paid for CPU seconds. Not conducive to experimentation .

The OS sucked. (From an end-user perspective, that is). It was both verbose and unfriendly. At least Unix was succinct.

Most of the people using the system were engineers, mathematicians, and comp- sci students, who all preferred either Unix or Windows.

<comment><USER46> The Alpha was running both Unix (Digital UNIX aka OSF/1 AXP aka Tru64 UNIX) and Windows up until 2000 RC1. Even Linux was officially supported in the last years.

<comment><USER47> Based upon the original comment I'm guessing the system he used was running OpenVMS. Many universities replaced their previous VAX systems running VMS with Alpha servers running OpenVMS.

</comment></comment></comment><comment><USER48> The first one I used was a DEC UNIX based workstation. That thing was pretty cool at the time, circa 1993. I learned a ton about UNIX on it and was really my only access to that type of OS until Linux first came out a year or so later.

Later on, I worked at a healthcare company that used a cluster of Alphas running OpenVMS or whatever the hell that OS is called. This was circa 2011-2014. It was DEFINITELY NOT COOL ANYMORE. That hardware was really old and the software on it was subject to frequent restarts due to memory leaks. The company used it to try and operate order intake for a multi-site online pharmacy. The system was impossible to interact with, it had a bizarre TCP socket based API, one awful, buggy, SOAP service, and otherwise data could come out via reports generated in a binary file format. Not strictly DEC's fault as the Alpha hardware did last a long time, but it was generally an awful experience for me to have to deal with that particular system. The company tried and failed to replace it so they doubled down, bought the source code for a ridiculous sum in the millions of dollars, and proceeded to try and maintain it themselves by hiring crusty old timers whose people skills were either way out of date or never existed in the first place.

Oh, and the repairs to the hardware were through a local computer salvage firm that basically bought boards and other bits off of EBay. This is a major player in the online pharmacy space, mind you.

</comment><comment><USER43> [https://en.wikipedia.org/wiki/AltaVista](https://en.wikipedia.org/wiki/AltaVista)</comment>


Why I bought a 2015 Macbook Pro - <AUTHOR> https://medium.com/@Pier/why-i-bought-a-2015-macbook-pro-fadf27ab4b <comment><USER2> I had a go on a frind's new 15" with touch bar tonight when visiting for Christmas Eve drinks. The touch bar looks lovely, it's a solid machine (literally the trademark Apple solid block of Aluminium) and while I found the feel of the keyboard a little odd it wasn't at all unpleasant. I typed about 300 words and it was accurate and tactile enough to give positive feedback. The large touch pad felt really good. Overall, it seemed like a very high quality product. He needs an SD interface because he takes a lot of pictures for work, so uses a multi-adapter block which he says works fine.

Some of the design choices seem edgy maybe, but nothing that would be a deal breaker for me. I don't need a new machine right now, but when the time comes I see no blocking issues with it and in a few years time when I will be in the market things like USB-C only will be even less of an issue.

I don't for one second buy the idea that Apple is neglecting the Mac. A neglected product doesn't get an entirely new and unique touch interface format that's fully supported by the integrated software from top to bottom, an entirely new keyboard design and a risky but forward looking peripheral port revamp. These are not choices you'd see made by a company treating the device as an afterthought.

<comment><USER3> Counterpoint: Mac Pro. An exiting new design, bold statement and technological choices. All but dead.

We just have a few more months to know what Apple really has in mind. And by the end of the year that will be clear if 2 year between updates minimum is the new best for the mac line.

<comment><USER2> Counter-counterpoint, the 5K iMac now with wide colour gamut displays. They're still pushing the Mac forward in ways no other computer manufacturer even comes near, but not in every direction or into every market segment.

I don't know if new Mac Pros are in the roadmap. But if they're not, while that would suck for those people that depend on them, it would hardly be the end of the line for the Mac.

<comment><USER4> Counter-counter-counterpoint, the 5K iMac is pretty much a better specced iMac from all angle. It has all the good stuff without sacrificing anything important. It simply is a "better"machine.

The complain isn't with the wide colour gamut display or any new feature they added, but its the other stuff that they sacrificed.

<comment><AUTHOR> Exactly. Like the lack of a proper GPU.

</comment></comment></comment></comment></comment><comment><USER5> "I simply hate the new butterfly Apple keyboard. I don't like the shallow key travel and it's super noisy."

Yup.

I started skeptical -- I'm still using a 2012 pre-retina MBP because I can swap out the RAM/drive myself and it appears to be the last option without a damn glossy screen. But I have to try the new hardware, because old hardware doesn't last forever.

The noise and travel from the keyboard is atrocious. Guess if we're all using the touchbar and the giant trackpad it doesn't matter?

<comment><USER6> I find it funny: nobody complained about the new keyboard design when it was being used in the 2015 MacBook or in the new Magic Keyboard accessory. But now that the same keyboard is a part in a product with a halo of negativity around it, people are much more willing to hate on it.

<comment><USER7> I am a computer professional. I never even considered using the low end MacBook. I imagine all other professionals also disregarded it. So, I don't think this is a reasonable argument. Now that the second generation is being used on a computer for professionals, professionals will start noticing the flaws and voicing their complaints.

<comment><USER8> > I am a computer professional. I never even considered using the low end > MacBook. I imagine all other professionals also disregarded it.

I am a computer professional. I was delighted to get the 2016 MacBook. I imagine plenty, though not all, other professionals also use it -- in fact I see them doing so. I'm also not pompous or insecure enough to feel that there is some sort of magic dividing line between "real" computing folks and mere "consumers".

I must admit I build only small programs with Xcode, doing most of my development in Emacs, doing some compiles locally and much heavy lifting remotely. I have one large simulator that can only run for a few thousand steps locally, but I can happily run it on AWS.

On the other hand it's super-portable, perfectly powerful for the C, C++, Lisp, Java and Rust development I need it for; it runs web browsers, various clients etc perfectly well.

Perhaps if you have to do a lot of image or video editing it wouldn't be enough. It's hard to say, since I used to do editing on a shared 2.5 MIPS mainframe; on the other hand you wouldn't make a modern movie on a MacBook Pro. But you probably write such a program on a machine far less powerful than the users need.

</comment></comment></comment></comment><comment><USER9> I did exactly the same thing. I was waiting for this release and knew I'd be updating from my 2012 rMBP this time around.

But, in the end, I couldn't accept the large list of compromises. When it came down to it I specced out a brand new 2015 rMBP on the Apple Store.

I've been using it a couple of weeks now and I'm still glad I made that choice!

<comment><USER10> Ditto. The compromises aren't worth it. I have no interest in "progress" for progress sake. Achieving a thinner device is not laudable at the expense of utility.

Planning to order a beefed up 15" 2015 model in the new year. Probably a refurb.

</comment></comment><comment><USER11> Apple doesn't change anything: "They've stopped innovating and become boring."

Apple does change stuff: "Why did they ruin a good thing?"

Apple's whole thing is simple products that work really well, and they're now suffering from it. Android or Windows can add 20 new bells and whistles, whereas that's not Apple's thing. Their initial versions are freakishly well- done (the current iPhone isn't that different from what was released a decade ago, and the MBP hasn't really changed either), and subsequent models suffer from that early level of polish and perfection. They need people to continue buying (they are a company), but really don't have many ways to entice people to.

<comment><USER12> > They need people to continue buying (they are a company), but really don't > have many ways to entice people to.

"What happened at Apple, to be honest, over the years was... the goal used to be to make the best computers in the world. And.. that was goal 1. Goal 2, we got from Hewlett-Packard actually which was "we have to make a profit". Because if we don't make a profit we can't do goal 1. So, yeah, I mean we enjoyed making a profit, but the purpose of making a profit was so we can make the best computers in the world. Along the way somewhere those two got reversed. The goal is to make a lot of money and well, if we have to make some good computers well OK we'll do that... 'cause we can make a lot of money doing that. And, it's very subtle.. it's very subtle at first, but it turns out it's everything. That one little subtle flip... takes 5 years to see it.. but that one little subtle flip in 5 years means everything." \- Steve Jobs ([https://www.youtube.com/watch?v=gJKmnKbx- aE&feature=youtu.be...](https://www.youtube.com/watch?v=gJKmnKbx- aE&feature=youtu.be&t=1783))

</comment></comment><comment><USER13> Considering doing the same thing. I really do not like the compromises of the latest models. But -- were you able to get the model with the discrete GPU? I find the Iris Pro slow when driving an external 4k display, so I wanted to get a model with the discrete GPU, but it seems only integrated graphics models are available.

<comment><AUTHOR> Author here.

I got the one with Iris Pro. I was a bit worried about performance but after using it for a couple of days I'd say it's more than fine.

I haven't connected it to a 4K display though. I will try that and get back to you.

<comment><USER13> Yeah, well, I _know_ that Iris Pro is slow with an external 4K display. Not just 3d, even moving windows around is sluggish.

I was hoping it is still possible to buy a 2015 MBP with a discrete Nvidia GPU in it.

<comment><AUTHOR> I'm using a Dell P2415Q using the provided mDP to DP cable and it works just fine in 4K at 60Hz.

Maybe you were using it at 30Hz?

<comment><USER13> No, at 60Hz, but we might differ in the definition of "fine" :-)

Moving windows around isn't smooth, resizing large windows is noticeably laggy, things like expose seem slow as well.

</comment></comment></comment></comment></comment><comment><USER14> He makes no mention of how much money he saved by buying last year's model. I am seriously on the edge of buying a 2016 15" MBP, but with many reservations. I would definitely consider buying a 2015 model, but I'm having a really hard time seeing the value in it.

I can get a reasonably well configured 2016 15" MBP for $3100, and a reasonably "well" configured 2015 15" MBP for $2500. I just don't see shedding $600 as being valuable for what I lose. I'm stilling paying an Apple premium, and if I'm spending that much money on a MBP I want the current model.

<comment><USER15> Add on the dongles/peripherals you'll need to buy. Don't forget the lack of MagSafe/USB/etc..

I bought a 2nd-hand (from a specialist 2nd store, who test everything) immaculate MacBook Pro 11,5 (Mid-2015) 2.5GHz i7 - 512Gb SSD - 16Gb RAM for £1200 (~ $1500) and saved nearly £1000 on the same spec new.

Also, last night, if I'd had a new 2016 model, it would have flown across the floor onto the hard kitchen floor as someone accidentally tripped on my power cord.

Never been more thankful for MagSafe.

Buyer Beware.

</comment></comment><comment><USER16> I did the same and I'm also sticking with El Capitan. I have no use of Siri, Sierra broke Karabiner (Karabiner Elements mappings are not sufficient for my keyboard), and mouse scroll was also behaving weird on Sierra. f.lux is showing artifacts with fullscreen video. It feels like this will be my last Mac, which sucks because I bought my first Mac three years ago and completely stopped using Windows last year. It might be time to embrace Linux for desktop when it's time to replace the 2015 MacBook Pro.

</comment><comment><USER17> May do the same. Quality wise I can't find anything comparable to Mac and I find the latest one has too many quirks.

A 2015 model or a Thinkpad. Still deciding.

<comment><AUTHOR> I wanted to get a Thinkpad too but the monitor may come with PWM which is a deal breaker for me.

<comment><USER17> Is this the same with Lenovo Yoga series?

</comment></comment></comment><comment><USER18> I also did the same and I'm very happy. I added a permanently-in microSD card too for backup. Always buy last-generation.

</comment><comment><USER19> I've got the very same thoughts.

My 2014 15" MBP is mostly fine, however it needs some cleaning and anti- reflective coating issue has become really annoying lately. 2015 vs 2016 was hard since there's so little feedback from actual users(power\professional ones) and this post is really helpful. I haven't heard anything more annoying(to my ears) than this new keyboard.

Still buying smth 1.5 years old(instead of 2.5 y.o.) not to satisfy your expectations, just to meet your needs(old ones, but with no stain issues)... Is it the world that "pro"+"mobile" Apple users should live from now on? :\

</comment><comment><USER20> Yeah especially for developers there's never a need for the latest and greatest. For creative professional they never upgrade the os on a piece of hardware, that's another reaso they choose Macosx over Windows for things like making hit songs or doing movie editing or soundtracks. For creative professionals they need the latest hardware to test their entire setup with the next version of MacOsx. As developers its moree cost effective for us to buy these second hand systems from creative professionals doing their upgrade cycle than going brand new.

<comment><USER21> If you write software using a language with a compilation step, you certainly need the latest and greatest.

<comment><AUTHOR> Except that this time the "latest and greatest" doesn't really offer better compilation times.

</comment></comment></comment><comment><USER15> Did exactly the same thing here. Bought 2nd-hand. Immaculate. Saved £900!

</comment><comment><USER22> Did the same thing. Then I went even further and bought a maxed out 2011 17" MBP.

</comment><comment><USER23> I did the same and I have zero regrets.

<comment><USER24> +1

</comment></comment><comment><USER25> this is sort of my modus operandi...every time they do a new form factor I usually wait till the second release.

I for one, do like the new direction of the MacBooks Pro - I think the ideal would be a 13" as 1) all the dedicated GPUs in the mobile space that I have used have always crapped out due to the combo of heat and bad BGA array solder (maybe things are better now than the fiascos with '08 vintage nVidia and ATI chips but that instilled a healthy amount of paranoia), and I have been moving towards wireless everything, dongle-free workflows. External storage and gizmos are through bluetooth or 802.11ac, or Apple TV airplay when possible. Assuming hardware v.2 gets some polished and the fancy contoured batteries, that will probably be good for me.

I suspect the Mark Gurman article was right - could have used a little more polish. Now that Jony Ive and Bob Mansfield's attn turned elsewhere, Apple has to find good successors to their roles...but this is something a successful corp has to do or else fall by the wayside.

</comment><comment><USER26> These recent articles about the MBP make me wonder: am I the only one who dislikes working on laptops in general, and refuses to buy one?

<comment> ux-app I think very few people _choose_ to work at a laptop when a desktop is available.

<comment><USER27> A docked laptop is as good as a desktop.

<comment><USER28> No, it really isn't. Desktop cpus blow mobile cpus out of the water (same with gpus, of course), and can use _far_ more RAM and disk storage. Laptops simply have the rather massive advantage of portability.

<comment><USER29> Does the horsepower give you any extra capability these days though? My laptop (Surface Book) is plenty powerful enough for development, even a certain amount of 3D rendering.

<comment><USER28> It depends what you're doing as to whether the CPU is enough, but RAM is still a frequently-cited constraint in the laptop world. Obviously with the immense rise in popularity of laptops, mobile CPUs are now 'fast enough' and have been for a while, but when you do need the grunt, desktops are nice. I imagine most developers these days have 'forgotten' how nicely desktops perform, simply due to lack of access.

My own anecdata: I work in two places, one where I have a 'nice' laptop (some old-but-beefy Alienware thing) and one where I have a 'nice' whitebox desktop. When I'm on the desktop, I find that I'm not keeping my computer's limitations in mind as I do my work, whereas on the laptop I do. It's not at the forefront of my mind, but it's there to some degree. Before I moved to the Alienware (16G ram), I was on an 8G laptop, and I had daily issues with that constraint - even though all I used daily were terminals, about 15-20 browser tabs[1], and maybe a screencap program.

Then I go home and play games, and in that realm, laptops really are the middle-child if the game has any GPU or CPU heft (though again, laptops have the benefit of portability).

[1] not all website are created equal, of course...

</comment></comment></comment></comment></comment></comment><comment><USER30> I own the basic 2015 15" model and it works really well. The discounted price difference between the two models is $400. The 512 GB 2016 model (as opposed to the 256 GB model) has SSD read benchmarks that are considerably faster than the 2015 model if that is important. The 2016 model is somewhat smaller and lighter and the battery life is about 2 hours longer. I like the keyboard on the 2016 model and many seem to like it after they get used to it. For me the MagSafe adapter is annoying because after a short time it start to fall off if it is hanging over a table edge. The power adapters on the 2015 and earlier models have problems with the insulating material coming off. The 2016 model has a replaceable cord that detaches from the power brick. The 2016 models can drive 5K displays.

</comment><comment><USER31> I got an MBP 13'' last year, and after reading many of the internet reviews and reports, I'll be sticking with it for at least a couple more generations / years, if not many more.

I have to admit, that I find the touchbar to be a gimmick - but a gimmick with lots of potential. Once Apple has ironed out the current issues, it might become a pretty neat enhancement to the rather static, traditional, physical keyboard.

The dimensions and weight of the new MBP are a huge step forward, indeed. But one can live without it, as 3.02 pounds (1.37kg) is not THAT much of a difference, as compared to 3.48 pounds (1.58kg). I mean yes, you notice the thinness and lightness of the new MBP, no question about that. But believe me, it's not even close to the previous jump (which I won't Google now).

Now for the controversial part: at most 16GB of RAM for the new MBP, really Apple? It almost sounds like a joke. And the CPU, well, I guess Apple is not the one to blame here, since Intel probably is the culprit here, but there really is pretty much no noticeable improvement over the previous generation AT ALL.

USB-C? Yeah, I like it. Don't have any devices that support it, but I can understand that it is the future. Really. But how on earth does Apple think that it is a good idea to just not have Magsafe anymore?! If there is one thing that even Apple haters have considered amazing, it is Magsafe. Now it's gone, and it doesn't look like it's coming back. This makes me sad, as I don't think there is going to be something similar anytime soon...

Now listen Apple. There is this company that you've been ahead of for many years. Yeah, I'm taking about Microsoft. They are BACK. And as much as I dislike their OS, they are improving their hardware AND software much, much faster than you are. If I was you, I would start to at least TRY to be a bit more revolutionary again. Because in 5 years from now, people might find your hardware a scam, and your software not that good anymore.

Sincerely, a software engineer that likes his MacOS and MBP.

</comment><comment><USER32> The 13" non touchbar version is the MacBook Air I've always wanted: thin, light, great screen and 16gb of ram. I bought one and couldn't be happier. They're priced more reasonably than the touchbar versions too.

</comment><comment><USER33> Man, that keyboard sounds really bad. Can anyone with the new MBP confirm it's as noisy as that video makes it sound, even after you adapt to it? As a Vim user, a noisy keyboard scares the hell out of me.

</comment><comment><USER34> any links to a cheap 2015 MBP?

<comment><USER35> Amazon?

</comment></comment><comment><USER36> Apple is clearly gearing up to sunset the MacBooks. You can be in denial about it, but it's inevitable.

The quality has been declining for some time because engineers are being usurped for bigger, money-making endeavors.</comment>


I built a website for global farmers,no money to cover the server cost now - <AUTHOR> Six months ago,I built a website for farmers,It would be a database for agriculture knowledge and farms.Although,the user number is going higher,the server cost is also going higher,after I received this month digitalocean bill,I found may be I cannot afford the DO server cost.What should I do now?I am applying Adsense,and tried to collaborate some suppliers. <comment><USER2> What pricing level are you at with DO?

Could you make better use of hardware (ie optimise to run on cheaper server(s)) and then try to monetise it?

</comment><comment><USER3> Get a patreon page or do a kickstarter

</comment><comment><USER4> Check out ovh.co.uk VPS

</comment><comment><USER5> why are the cost high?</comment>


Latacora: Security Programs For Startups - <AUTHOR> https://latacora.com <comment><USER2> From the HTML source:

      <!-- You can't know whether I'm exploiting a bias in the crappy JS -->
      <!-- RNG to make my name first more often. Hah-hah. -->
      document.addEventListener("DOMContentLoaded", function(event) {
        var names = ["Erin Ptacek", "Thomas Ptacek", "Jeremy Rauch"].
          sort(function(x, y) { return 1 - Math.ceil(Math.random() * 100) % 3; });
        for(var i = 0; i < 3; i++) {
          document.getElementById("n_" + i).textContent = names[i];
        }
      });

It isn't scientific in the slightest, but I ran the function a hundred million times, and Erin seems to appear first about 60% of the time, in Google Chrome.

Good luck with the company, I hope you can also beat the RNG that makes or breaks a startup :)

<comment><USER3> Ah, I think I've figured it out (nothing to do with JS's RNG, sadly). It's simpler when you ignore Jeremy (sorry). For this case, we can assume `Math.random()` will output uniformly random numbers. `Array.prototype.sort` works as so:

If the function returns > 0, the first param should be sorted to a higher index than the second.

If the function returns < 0, the first param should be sorted to a lower index than the second.

 _If the function returns exactly zero, the parameters are left as they are._

So what we've got is a 1/3 of Erin 'winning', 1/3 of Thomas 'winning' and a 1/3 chance of a tie _which leaves Erin ahead_. So she's got a 2/3 chance of being first.

Additionally (but not in any consequential fashion), generating a random number between 1 and 100 (inclusive) gives you 100 possibilities (duh). With three outcomes:

        100 / 3 = 33.333333333333336

The first option has slightly more chance to be picked. If Erin wanted to be fair(er), she'd multiply by 99.

Here's a Python solution showing it's not just JS:

link: [http://paste.ubuntu.com/23222240/](http://paste.ubuntu.com/23222240/)

results:

        {
          'Erin Ptacek': 6523,
          'Thomas Ptacek': 1951,
          'Jeremy Rauch': 1526
        }

(with apologies to ShaneWilton, I've completely rewritten this comment so the following comments are out of date)

<comment><USER2> The output of Math.random also doesn't seem to be very uniform. With the original code, I'm consistently seeing Erin appear first 60% of the time, and Thomas first 30% of the time. Jeremy is left with 10%.

Even after changing the code to multiply by 99 instead of 100, the results don't change very much at all.

<comment><USER3> Interesting, running just the number generation under node v6.5.0 gives:

         { '0': 340364, '1': 330093, '-1': 329543 }

So we see a slight bias for zero (elements are equal) there. ~Lemme try it in Chrome and get back to you.~

AHA, repro'd in Chrome latest: [http://jsbin.com/cefuqi/edit?js,console](http://jsbin.com/cefuqi/edit?js,console)

Also repros in node. Fascinating. There goes my afternoon...

<comment><USER4> The problem is in the sort function. It expects the comparison to be deterministic and thus does not give the fully randomized list.

Instead giving each name a distinct value (between 0 and 1) and sort based on those values.

</comment></comment></comment></comment></comment><comment><USER5> This is great. Someone needed to do one of these, I dabbled in this market with my little one person shop because it seemed so critically underserved, but my constraints were a bit different.

Some of the challenges I faced in trying to help startups: I needed to be paid in real money, which is tough for a startup. I didn't market myself at _all_ (not even a webpage) which is just neglectful. And finally, surprisingly: frankly I found startups to have the worst legal advice and contracts. All of them went to their lawyers and came back with contracts that looked like employment agreements and frankly included worse terms than most employment agreements. I had my own agreement, but it didn't help much. I had a surprising number of deals fall through because of this. Part of it is I clearly allowed incorrect expectations, and part of it is, I think is if people haven't heard of you they just assume you'll be unrepresented and shocked when you don't just sign their standard "we put whatever we thought would be best for our client" contract and instead asked for a version for a lawyer to redline.

So frustrating. And for real, most startups didn't need that much of my time, so it became not worth it.

Instead I had a much better experience with a lot less pain (and frankly more interesting work) working on multibillion dollar public infrastructure contracts (train systems mostly) and focused on those instead. Go figure.

You'd expect startups to do better in this area than larger companies.

Thankfully Thomas is well known on the Internet, which I think will help a lot with startups. And it's a better model than what I was doing.

Anyway! Thanks for doing this! It's a huge unfilled area. Someone needed to and I hope it works well!

<comment><USER6> Our one key advantage: after selling Matasano, we do _not_ require payment in real money. :)

<comment><USER5> That part seems really compelling for some startups. But I'll be curious to see if at the end of the day it turns out to be compelling for you all. (FWIW, the few times I tried that approach people weren't used to it. It probably is far enough away from everything else that it also squarely removes you from the usual "we'll hand you a contract for a contractor" situation too. I am guessing you'll have more luck with it than I did.) You might find pushback from folks who don't want to add another row to their cap table. It seems like it shouldn't be a big deal, but different people have the strangest dealbreakers.

I am also curious: do you plan to value options when you accept those at whatever valuation is current and let other investors determine the rate? Or do you plan to try and determine option valuation yourself? How VC-like do you intend to get here? :)

<comment><USER6> For the most part, we're really just going to exploit every lever we can find for making our payment structure flexible. I wouldn't say we're hoping to become investors.

We spent a few years working with lots of young startups at Matasano and we had the obvious learning experience: none of them, even the ones with traction, can afford the kind of security work that larger companies get. That's a problem we're hoping to address, at least for a small number of clients.

<comment><USER5> Awesome. Curious to see how it goes! Hope you all have time to write it up as it goes along. :)

</comment></comment></comment></comment></comment><comment><USER7> Ha, I guess a management role is the natural progression from technical consulting. I love the idea of a middle ground between "we have things people would want to hack" and "we have a dedicated security team." It's great when you can hire security conscious developers, but startups generally aren't know for seeking out nor emphasizing those skills. AFAIK nobody has adopted "Move carefully and write secure code with minimal technical debt."

A seasoned security team would also be able to effectively avoid snake oil security consultants (no, you really don't need to encrypt the user's password with JavaScript before transmitting it to the server), which are all the more tempting to hire as they're generally cheap (run Nessus, print and deliver report...).

<comment><USER8> Do you hang out in #HighAltitude or am I experiencing the Baader-Meinhof Phenomenon?

</comment></comment><comment><USER6> I guess if people are interested and have questions I can try to take a stab at them, but really you'll be having a conversation with three people who have only a faint idea of exactly how this is going to work, since we're still in learning mode. :)

The next thing I'm actually _shipping_ is the first batch of post-Starfighter challenges.

The next thing I'm actually _writing_ is "what happened with Starfighter".

<comment><USER9> Is it pronounced lata-cora or la-taco-ra?

<comment><USER6> Dunno. What sounds better? La-TACO-ra hadn't even occurred to me.

<comment><USER9> lata-cora rolls off the tongue easier, imo. (I think i am just hungry)

</comment></comment></comment></comment><comment><USER10> >Growing a business is exciting. We'd like to make it just a little less exciting for you.

The second sentence sounds weird for me. Maybe I didn't understand because I don't speak English natively and I missed some kind of humor.

<comment><USER11> Double entendre, "exciting" here refers to the fun of a startup and to security-issues and vulnerabilities in software.

</comment></comment><comment><USER12> I suggested this exact thing on Schneier's blog to keep security from being an afterthought or too expensive. Great to see a group think of and actually do the same thing.

Good team for this. The prior experience will help them iterate more effectively into a model that works. Then others can copy it. Or they might even franchise it.

</comment><comment><USER13> Every strong engineering team needs someone with real security chops.. not just someone who can fix SQLi after it's been pointed out, but someone who gets security at the infrastructure level. Someone who gets the why, not just the how. Not every team has that person or that person can't devote the time to play that role.

With a few good references and strong VC/Accelerator connections, this boutique consulting business should do fine. The question for me is how much pain is there on the board/founder (the key influencers/buyers of the service) compared to the cost of the services... or the risk of doing nothing.

<comment><USER6> Most startups don't need a dedicated security person and don't need a service like ours to bridge them to a full-time internal security team. So I think you're right: boards and founders are going to question whether they want something like this.

On the flip side: we have the bandwidth for only a few clients (we're doing a _lot_ of work here), so mutual selectivity is a win. :)

</comment></comment><comment><USER14> Preamble :a lot of agencies (Im thinking postlight) act as "hire us for three months to get the idea off the ground" \- they try to take away the headache of not having actually hired a good team yet.

Question: Are you part of a fracturing of this? That people could hire you for security, postlight for front end, someone else for ecommerce / payments etc. I think I am asking is the postlight model distrusted, is hiring your style of team easier to fit around a growing team. What is the gap in the market you are seeing?

<comment><USER6> I don't think so. I think you need a solid, invested engineering team for us to plug into in order to get any value out of what we're doing.

</comment></comment><comment><USER14> I am working with a small startup as their "technical advisory board" \- clearly not as security minded as here, but the goal is the same, to take a brain dump from me and use it as a framework for the next couple of months of work.

I like this idea, and hopefully it's self selecting. People who won't listen to good advice won't hire you in the first place !

</comment><comment><USER15> How does this business scale without affecting quality?

Why is the birth of this particular (small) security consulting firm more newsworthy (in contrast to all of the others that have popped up)?

<comment><USER16> 1\. tptacek answered this already.

2\. [https://news.ycombinator.com/leaders](https://news.ycombinator.com/leaders) (read #1)

<comment><USER6> I mean, yes, (2) is why it's on the front page, but I too find it weird that we're talking about this.

</comment></comment></comment><comment><USER17> This sounds like a great idea! Kudos and best of luck!

</comment><comment><USER18> Might be good to mention what programming languages do you work with, as security is quite coupled with application code...

<comment><USER19> A qualified pentester can work with, audit, and break code in any language. There are a few that I have not heard of anyone actively pentesting them, and they include RPG III, and the family of Bliss languages.</comment></comment>


Ask HN: Have there been any serious consequences from GDPR yet? - <AUTHOR> Often times reading here on Hacker News, users are quick to point out in the comments under an article announcing a new site or service how things are "definitely not GDPR compliant," but I anecdotally see no major changes being implemented. If sites and major corporations are so often out of compliance, why hasn't enforcement happened yet? <comment><USER2> One thing I noticed (and I've worked with several companies to make them compliant) is that many non-tech companies finally see data as something to pay attention to. GDPR forces them to know what data they collect and store, enabling other initiatives. Those can be to finally improve data quality (as you'd otherwise have to expose invalid data to clients), better customer service (self-service) and data analytics.

I'd say, for the companies I've met the cost they had with GDPR had a pretty good ROI even if there was no enforcement of GDPR. Not all companies see it that way, though.

</comment><comment><USER3> Enforcement is happening, though unfortunately I don't have an actual source on hand to show you.

Anecdotally, I enjoy being able to _finally_ tell companies to forget me and stop sending me spam. It has actually worked very well for that. I also enjoy being able to report companies blatantly and maliciously infringing on my rights, because it finally makes me feel like maybe I'm not just some cattle to be exploited for someone else's benefit.

Another benefit of having the right to be forgotten is that I (hopefully) won't pop up in so many future data leaks. I've been fortunate so far that nothing serious has ever been leaked about me, and I've insulated myself well from leaking passwords because I use a new random one everywhere. I do however know a few people who have been burned this way and subsequently become the victim of identity theft. Being that the police lacks incentive and ability to do anything about this (I know this from personal experience, I do not live in a third-world country or even one that is moderately poor), the only cure for this problem is prevention. It helps me to sleep better at night knowing this risk has gotten smaller.

<comment><USER4> How do you report a company?

<comment><USER3> This is a question I would encourage everyone to use a search engine for. To answer your question: [https://edps.europa.eu/data-protection/our-role- supervisor/c...](https://edps.europa.eu/data-protection/our-role- supervisor/complaints_en)

</comment></comment></comment><comment><USER5> German Chat Community knuddels.de was fined 20.000€ for saving unhashed passwords: [https://www.welivesecurity.com/2018/11/27/german-chat- site-f...](https://www.welivesecurity.com/2018/11/27/german-chat-site-faces- fine-gdpr/)

<comment><USER6> Very low fine considering how bad the breach was (and lack of basic security). Any idea of how much revenue this company is making?

<comment><USER5> Nope, since this is a GmbH, they don't need to publicly disclose their numbers. But I read they have about 4 million members.

I agree on 20k not being very much given the circumstances. However this is the first time that a company had to pay for a thing like unhashed passwords at all. So I guess it's a step in the right direction.

</comment></comment></comment><comment><USER7> I know we've lost business because of it. We're a US company but a lot of our customers are gigantic multinationals and becoming fully compliant would reveal some IP that would be disasterous if it became public.

<comment><USER8> This is an interesting angle that I've never considered. I know that you likely can't talk about it but how could complying with GRPR expose IP?

<comment><USER9> I'm imagining some sort of novel data structure or schema. If a customer requested their data, you'd have to divulge the schema as well.

<comment><USER3> You are not obligated to provide the data in the way it has been structured at your company. You are obligated to provide it in a machine-readable format, and that is where the provisions end. It can be any format you want and can contain the information in any way that you like, as long as it's all there.

<comment><USER9> perhaps there's a score or some other proprietary statistic that is technically user data but is not surfaced to the user. If the score is a function of other pieces of supplied user data then perhaps they're worried about leaking a proprietary formula.

This is starting to sound a bit thin, so I'm not really sure what this guy is talking about.

</comment></comment></comment></comment></comment><comment><USER10> What I still don't understand is how companies like MaxMind (basically a fraud rating based on IP addresses and some other criteria that is mixed together) or the german Schufa (credit rating) are still able to operate under GDPR. But in general I feel the idea and effect it had is a good thing even though the days before it went live were plain ridiculous.

</comment><comment><USER11> Some us websites just plain refuse to serve me content just because I'm in Europe.

On the other side, when something goes wrong shooting an email citing possible gdpr infringement is now mostly enough to get an answer by a real human being.

So quite frankly, I see this as an overall positive thing.

<comment><USER12> >> Some us websites just plain refuse to serve me content just because I'm in Europe.

This happens to me too. I see this as a major negative thing.

The first it happened to me, I felt it as a type of censorship. In this matter, GDPR raised a big wall between u.s. and europe.

<comment><USER13> If it's censorship it's the EU's fault.

The website achieved GDPR compliance. End of story.

<comment><USER11> Meh, I'm fine with that.

</comment></comment></comment></comment><comment><USER14> Any company in violation will be given the chance to make themselves compliant before fines are levied. The fines were never going to start right away.

<comment><USER6> Not right away, but wasn't there a 2 year waiting period exactly for that?

</comment></comment><comment><USER15> I think that currently the serious consequences are the amount of businesses that expended huge amounts of cash and time to getting towards compliance. It has focused every business on the data that they generate and keep. Overall, the main consequence that I see currently, is that almost every business has some idea about GDPR and your data. Surely that is the largest consequence?

<comment><USER16> It also can cut costs. I know of a company that threw away hundreds of terabytes of data from S3 because it didn't need it.

<comment><USER15> I am pretty sure that for the amount of savings most companies can make through removing data retention, working out what data to remove is far, far more costly.</comment></comment></comment>


Show HN: A Collection of Stories About People Who Landed Their Dream Tech Job - <AUTHOR> https://algodaily.com/stories <comment><AUTHOR> This is a collection of stories about folks who got their dream job. When I was looking to break into tech, I found it was really useful to talk to people who were in the field, and learn how they broke in. They usually had nuggets of advice that would help with the process-- whether it be about interviewing, searching, networking, or negotiating.</comment>


Ask HN: How long did it take GEMINI to approve your ID? - <AUTHOR> <comment><AUTHOR> Your identity verification is being reviewed, and should be updated shortly. Gemini is currently experiencing extremely high application volume and there may be delays as the compliance team completes the review of your application.</comment>


Dominic Cummings calls for 'weirdos and misfits' for No 10 jobs - <AUTHOR> https://www.theguardian.com/politics/2020/jan/02/dominic-cummings-calls-for-weirdos-and-misfits-for-no-10-jobs <comment><USER2> He's been criticised previously for the way he tried to get people fired (not in compliance with law) and his job ad is likely to also be unlawful in England.

No matter what your politics are the rise of Spads and the weird amounts of power they have should be concerning.

</comment><comment><USER3> Woit's take on this: [https://www.math.columbia.edu/~woit/wordpress/?p=11537](https://www.math.columbia.edu/~woit/wordpress/?p=11537)

</comment><comment><USER4> So does Dominic Cummings read HN?</comment>