London-Paris electric flight 'in decade' - <AUTHOR> http://www.bbc.co.uk/news/technology-39350058 <comment><USER3> Currently the shortest LGW-CDG flight is 1h. There is LCY-CDG lasting 1h 20m. For both cities it takes 30 - 60m to get to the airport from central location and you should be there at least 1h before the departure (for a total of 2-3h non-flight time). This makes total travel 3h - 4h30m.

For comparison, the fastest train is 2h 25m. I guess you need to travel to and from the train station too, but it's definitely more central (2x15 min) and you can easily hop on train even five minutes before the departure - <USER2> I usually plan at least another 15 min buffer. That is a total of a little over 3 hours.

I don't pretend to know enough about economy of future trains vs future electric flights, but it looks like short distances will always be a tough sell for airplanes. Personally I also find trains more comfortable and I was never given a free massage for carrying scissors in my pocket when boarding one.

<comment><USER4> The better idea for the first electric flight is probably LCY-AMS. It's a 35-40 min flight but there's no alternative to it (train 4+ hours, ship 8+ hours). There's a lot of demand for that route, you have more than 15 flights per day across all London airports.

<comment><USER5> I wonder why there is no fast London - Amsterdam train. It's not that much farther than Paris.

<comment><USER6> UK border security. On Eurostar journeys all border checks are done at the departure station, and only Paris, Brussels and Lille have the facilities for that. That said, it should be coming this year.

<comment><USER5> Ok, good. It seems it will make a 30 min stop in Brussels for the border check though. Unfortunate.

</comment></comment></comment></comment></comment><comment><USER7> I'm not at the forefront of this field so maybe I missed some great advances in battery technology or airplane efficiency, but how could this possible work when the energy density of a battery (.3-.9 MJ/kg) is 50x less than that of jet fuel (46 MJ/kg)[1]? Or is that simply enough for (very) short haul flights?

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

<comment><USER8> That's correct, but note that an electric motor is about twice as efficient as a combustion engine, reducing the factor to about 25x (at least ideally). Typical medium range aircraft burn about 3 kg fuel per km [1], so to fly 1000 km you would need about 3 * 25 * 1000 kg = 75 tonnes of batteries. This should be in the ballpark of what we can pack into an aircraft already, but I guess at least another 2x improvement is needed to make it economical (we want to haul some useful payload, not just the batteries).

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

<comment><USER9> What's the turnaround for the aircraft though? If they can't turn around an aircraft in 15-30 min, we'll need more aircraft or prices will skyrocket (no pun).

<comment><USER10> Any sensible proposal for electric systems for commercial aircraft is going to aim for batteries to be safely swappable in 10-15 minutes. (Though they can still make delays from unexpected diversions to airports without a stock of batteries worse)

<comment><USER11> The structural penalties for making "most of the weight of the aircraft" removable will probably lead to a plane that doesn't fly.

<comment><USER12> ... for example, putting the batteries in the existing form-factor of removable cargo containers used in jumbo jets.

</comment></comment></comment></comment></comment></comment><comment><USER13> I am really quite confident that no serious development of electric passenger aircraft will take place during the coming decade.

And it is not a question of feasibility, but rather of priorities. There is so much low hanging fruit to be collected! By the end of the decade, if all goes well, we will be in the middle of replacing petroleum fuelled cars and busses with electric ones, and maybe turning our attention to other land-based petroleum consumers such as trucks, agricultural equipment, mining machinery etc.

Airplanes are so far down the list of things we can easily swap over to batteries that it is not yet worthwhile to work in this field.

<comment><USER14> Siemens disagree

[http://www.siemens.com/press/electric- aircraft](http://www.siemens.com/press/electric-aircraft)

<comment><USER11> They specifically mention "hybrid-electric propulsion systems", which means electric propulsion powered from a fuel-burning generator.

</comment></comment></comment><comment><USER15> TL;DR: If I read things right, the BBC article is highly misleading and the plane still uses jet fuel.

Longer version:

The article mentions "removing the need for jet fuel" but does not explain how the engines of this "electric" plane work. Propellers run by electric motors, or what?

No. Wright Electric's own site is scant on technical details and concentrates on praising the great team in its blog. From browsing other sites [0] it appears that the engines are still using conventional jet fuel to generate the thrust; it's just that the external systems (pressurization, de-icing, landing gear mechanics, fuel pumps etc) that are powered by electricity are using battery power instead of generator in the current jet engines.

This may be a step ahead in energy efficiency but is not that revolutionary, and calling it "electric flight" is simply wrong.

I hope I misunderstood, but Wright Electric really should tell how their electric plane is supposed to work if it is really electric.

[https://electrek.co/2017/03/22/electric-plane- startup-150-se...](https://electrek.co/2017/03/22/electric-plane- startup-150-seat-battery-powered-plane/)

<comment><USER16> I think the image you can see on the electrek article is from this blog post: [https://weflywright.com/2017/02/12/wright-weekly-weport- feb-...](https://weflywright.com/2017/02/12/wright-weekly-weport-feb-12-2017/)

The legend for that image is:

>This image shows the potential subsystems that could be powered electrically. (Note: an fuel plane can also install electric subsystems – for example the 787 is making headway in this direction – but the subsystems in an electric plane will be all electric!)

From what I read from the blog, it looks like they are going all electric. So I'm not sure what magic they intend to use in order to propel the plane, but I'll assume propellers until proven wrong.

<comment><USER17> Wow, apparently I've been driving an electric car for years! It uses quite a bit of petrol too though.

</comment></comment></comment><comment><USER10> It's good to see YCombinator funding some ambitious and really hard projects, but I'll believe the "in a decade" when I see it. Even if a decade's worth of battery technology improvements allows it to get off the ground, there's still a lot of painful certification processes to work through (and certification authorities likely to be less-receptive than average due to it being a new entity and having less commonality with previous generation aircraft)

A little surprised they seem to be going after the ultracompetitive A320/737 market rather than the shorter-haul, lower-speed, turboprop market as well (closer to their starting point, less competition, even more fuel price- sensitive, airline customers less conservative etc.)

</comment><comment><USER18> Okay, I had to stop reading and chuckle for a moment at this bit of logic:

> _Wright Electric said by removing the need for jet fuel, the price of travel > could drop dramatically._

Note to self: Bring back Zeppelin travel.

</comment><comment><USER19> What's the point if you can just take an electric train? Isn't it basically 'a flight' on rails?

They should have chosen a better city pair.

<comment><USER10> Tell that to the double-digit number of airlines already flying between London and Paris...

It's a [hypothetical] aircraft, not a hyperloop. It can fly other routes.

<comment><USER20> Eurostar have around 80% market share on Paris–London for good reason. At 2hrs 15mins from city centre to city centre it's faster, less hassle, and more comfortable than flying. Security is less strict (you can take liquids) and you don't have to check your bags. Two large items of luggage are also included for every passenger. It's not even more expensive than flying if you book in advance if you include the price for airport transfer.

London–Paris is just an example in the article to demonstrate the range of that hypothetical aircraft. It could also be useful as a demonstrator.

<comment><USER21> I assume that's just market share of travel specifically between the two cities? There's also the market of connecting flights to consider.

<comment><USER22> There aren't any flights to anywhere in the world out of London that would connect through Paris unless you require a flight on Air France.

<comment><USER23> I think the parent might mean eg. travel from the UK outside of London to Paris, and France outside of Paris to London. In that case you'd probably spend longer traveling to the Eurostar in your own country than on the Eurostar. The same would be true if you traveled to an airport in London/Paris to fly, but there's the alternative of flying from a regional airport direct to London/Paris instead.

<comment><USER21> Nah, I was just overestimating Paris's status as a flight hub. Although I do wonder if connecting in Paris might make more sense from some of the smaller London airports.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> >A new start-up says that it intends to offer an electric-powered commercial flight from London to Paris in 10 years.

There is no way a startup without any experience in aviation will design, build, certify and sell a commercial 150-seat airplane in 10 years. Not even mention the immense R&D groundwork required to even prove the concept of using batteries to power short haul flights.

Why do they put out bullshit like this? It just hurts their credibility.

<comment><USER7> Normally I'd agree with you but seeing that SpaceX was able to go from zero to sending stuff into orbit in a decade, building a plane in that same time period doesn't seem totally unreasonable.

I'd be more concerned with the realities of battery technology not being ready and existing regulations/testing stretching the timetable v.s. pure technical ability of a team to design something that would be fit for purpose.

<comment><USER25> SpaceX has re-done something that was already done. It's no small feat, but the proof of concept existed years ago.

An electric plane with 100+ person on board has no POC so far...

<comment><USER26> Also, SpaceX is fine with having their vehicles occasionally explode. Which is considered par for the course in spaceflight circles, but not so much in jet travel.

<comment><USER7> Well they're a startup in the traditional sense as rockets tend to "move fast and break things".

</comment></comment></comment></comment></comment><comment><USER27> Maybe I don't understand combustion well enough but why isn't there more hype about fuel cells? They seem so much more compelling, in cars or otherwise. Just seems like if Elon Musk decided to pursue fuel cell cars rather than electric cars that those might be more dominant on the market today.

</comment><comment><USER28> I appreciate Y Combinator at grabbing ppl attention. We need to do more of this ambitious projects.

However, I'm rather disappointed lack of even fundamental technical vision. I get that if you shoot to fly in a decade you can optimistically base your model on other technical advances (e.g. better batteries), but too much short- term hype can be deceiving.

It will take many years to get there and probably it would be easier to create first small turboprope electric plane. Something like: [https://en.wikipedia.org/wiki/Bombardier_Dash_8](https://en.wikipedia.org/wiki/Bombardier_Dash_8)

</comment><comment> m-j-fox Why not hydrogen? Stuffing a Mirai's guts into a turboprop is a project we could do today. Solves the waiting/hoping for battery technology problem and saves Toyota's $billions invested in r&d from the toilet.

<comment><USER29> How do you store the hydrogen?

<comment> m-j-fox However Toyota stores it. Probably something resembling lab cylinders.

<comment> m-j-fox Which turn out to be carbon-fiber tanks.

</comment></comment></comment></comment><comment><USER30> Airlines that switch to electrics will have to resolve a logistical issue -- do you switch batteries between flights, or do you need to buy twice as many aircraft, so half are flying and half are charging? I suspect that battery- switching will be the answer, even though the batteries will be a significant percentage of the aircraft's volume.

<comment><USER31> It's already possible to swap the battery pack on a Tesla Model S faster than a gasoline car can be refilled.[1] That is special equipment, but presumably modular batteries that are quickly bolted into a large cavity on the underside of a plane would be possible. It might only make sense in hubs, or highly traveled routes to put the equipment in place, though. Slower charging when the plane is on the ground overnight at a regional airport for example probably wouldn't be a problem.

</comment></comment><comment><USER32> I wonder if any company is seriously considering nuclear-powered planes? The energy density alone would make it extremely competitive.

And, let's be honest, in case of a crash, I'd rather walk away (or be hauled away without a limb or two) to die of cancer ten years later, than be burned to crisp in a huge fireball. Fear of radiation is overrated.

<comment><USER33> Well, I don't think there's much consideration of nuclear power in the first place by most countries. A nuclear-powered B-36D (large bomber) was explored in the '60s though. Complications included the weight of the lead shielding to protect occupants, and that doing some routine operations in the radioactive areas required a remote controlled robot. The reactor was never used to power the aircraft, and test flights just explored the effects of radiation on everything.

</comment></comment><comment><USER34> I see some back of the napkin calcs happening here, and feel compelled to point out that in addition to in-flight fuel, current regs require planes to have reserves sufficient to:

* maintain a holding pattern for 30 minutes (45 for recip. engines) PLUS

* perform a missed approach at destination, climb out again, and perform a landing at an alternate PLUS

* contingency fuel (5% of trip fuel)

</comment><comment><USER35> Add it to the list of 10 years from now

1) Dozens of new battery technology

2) Graphine will change our world

3) Genetic cures for thousands of diseases and birth defects

4) Linux Desktop :(

<comment><USER36> > 4) Linux Desktop :(

Have been using one for 10 years :)

<comment><USER35> I've been since 2004 :)

</comment></comment></comment><comment><USER37> Why not, a jet powered plane can fly 17,300km, electric plane must have about 2x energy efficiency (70-80% vs 35-40% overall) because it's not a heat machine, so with 50x less energy density it translates to 700km. Actually it can be more because batteries are a lot denser than jet fuel so plane will be thinner, thus having a lot less air resistance, so 800km is possible. As you can see they are shooting for 500km, must be easily possible.

Airbus works on a 1000km battery powered regional plane (catch is, it's probably a turboprop) by 2030, by the way.

<comment><USER38> You've contradicted yourself by saying that batteries are both less and more dense than jet fuel...

<comment><USER37> LOL energy density is much much lower, but volumetric density is several times higher. Meaning, they take less space for same weight -> airframe can have smaller profile and have less air resistance.

<comment><USER38> I don't think that's true, both volumetric and mass densities for lithium ion batteries are very low ([https://upload.wikimedia.org/wikipedia/commons/c/c6/Energy_d...](https://upload.wikimedia.org/wikipedia/commons/c/c6/Energy_density.svg)).

</comment></comment></comment></comment><comment><USER39> we could save a lot on fuel if they reordered flight plans into a grid, you might not be going direct to somewhere far and popular but they overall impact or the environment would be huge.

<comment><USER40> What do you mean by a grid? Long-haul direct flights offer many benefits, such as lower drag at cruising altitude, engine efficiency at altitude, etc. [1] Biggest fuel savings are going to come from more efficient engines and weight reduction (composites). 1: [https://en.wikipedia.org/wiki/Fuel_economy_in_aircraft](https://en.wikipedia.org/wiki/Fuel_economy_in_aircraft)

<comment><USER39> you find the optimal distance for a flight and create a mesh out of those flights. and stop lines from crossing.

</comment></comment></comment><comment> tuna-piano "Second flight will be after the battery recharges, approximately 10 years after the first flight"

</comment><comment><USER39> what about passenger gliders?

</comment><comment><USER41> They picked the one city pair already served well by rail??? One where there will be substantial time lost to immigration queues anyway, thus reducing the relative benefit of high speed travel?

SF-LA, London-Dublin, etc would have made a lot more sense.

<comment> pale-hands Good point, but this is just the BBC giving an example of a distance that its audience can easily grasp.

<comment><USER42> I hope the took the requirements of _two_ alternates to heart in their range calculations otherwise - bad pun - this won't fly.</comment></comment></comment>


What's New in CPUs Since the 80s and How Does It Affect Programmers? - <AUTHOR> http://danluu.com/new-cpu-features/ <comment><USER2> The constant widening of the SIMD registers is an interesting trend to watch. MMX started off as 64-bit, and now AVX-512 is 8 times that. With many cores and a couple of SIMD units in each core, aren't CPUs becoming ever more suitable to handle graphic workloads that were once reasonable only for GPUs?

<comment><USER3> Everything vardump said is true, but additionally there's the consideration of what isn't there as well as what is there. By not having an out of order execution setup or a broad forwarding network a GPU core is able to be much smaller than a CPU core of equivalent throughput. By "core" here I mean something capable of independently issuing instructions and executing them, not calling each execution unit a "core" the way Nvidia does (though with SIMT that isn't as crazy as it might look at first). That means you can pack more cores on a chip and use less power for a given amount of work, since power consumption is roughly proportional to the number of transistors used. If we eventually start doing graphics on CPUs it will because we move to ray tracing or other sorts of algorithms that GPUs are bad at.

<comment><USER3> One more thing. GPUs don't have to worry about precise interrupts like if you try to load a piece of memory only to find that you have to page it in or such. If they're in a memory protected setup where that's even possible it'll be the CPU who has to deal with the mess, the GPU can just halt while that's taken care of.

This makes SIMT easy. SIMT is "Single Intstruction Multiple Threads" which is sort of like SIMD but better. You have an instruction come in which is distributed to multiple execution lanes each of which has a hopper of instructions it can draw from. Each lane then executes those instructions independently and if the lane notices that the instruction has been predicated out it just ignores it. Or maybe if one lane is behind it can give the instruction to its neighbor which isn't. THe fact that you don't have to be able to drop everything in a single cycle and pretend you were executing perfectly in order gives the hardware a lot of flexiblity, and all of this complexity is only O(n) with the number of executions instead of O(n^2) as with a typical OoO setup. The need to have precise exceptions involving SIMD instructions means that this isn't a simple thing for a regular CPU core to add to its SIMD units.

The fact that each lane is making decisions about when to execute the instructions it has been issued are why some people refer to the lanes as "cores". I don't, because what they're doing isn't any more complicated than the 8 reservation stations in a typical Tomasulo algorithm OoO CPU core would be doing even if they are smarter than a SIMD lane. With GPUs it makes more sense to break down "cores" by instruction issue, in which case a high end GPU would have dozens rather than thousands of cores.

<comment><USER4> I think GPUs do have faulting mechanisms, if that's what you meant by "precise interrupts". How else they bus master page memory over PCIe?

> Each lane then executes those instructions independently and if the lane > notices that the instruction has been predicated out it just ignores it.

This is exactly what you do on CPUs as well. In SSE/AVX you often mask unwanted results instead of branching. Just like on GPUs. AVX has 8 lanes, 16 with Skylake.

<comment><USER3> Regarding faulting mechanisms, if you've got a discrete GPU on a PCI bus then it's a separate piece of silicon that handles the network protocol. The important point is that I don't believe that the GPU cores have to be able to halt execution and save their state at any instruction.

It's certainly true that SIMD instructions in CPUs have predication which saves you a lot of trouble. The difference is that if you have two instructions which are predicated in a disjoint way you can execute them both in the same cycle in a SIMT machine but you would have to spend one cycle for each instruction in a SIMD machine. You can look at Dylan16807's link for all the details.

<comment><USER5> GPUs don't support precise exceptions. For example, you can't take a GPU program that contains a segfault, run it as a standard program (as in, not in a debug mode), and be presented with the exact instruction that generated the fault.

</comment></comment></comment></comment></comment></comment><comment><USER6> > _If we set _foo to 0 and have two threads that both execute incl (_foo) > 10000 times each, incrementing the same location with a single instruction > 20000 times, is guaranteed not to exceed 20000, but it could (theoretically) > be as low as 2._

Initially it seemed to me the theoretical minimum should be 10000 (as the practical minimum seems to be). But it does indeed seem possible to get 2:

1) Both threads load 0

2) Thread 1 increments 9999 times and stores

3) Thread 2 increments and stores 1

5) Both threads load 1

5) Thread 2 increments 9999 times and stores

6) Thread 1 increments and stores 2

Is there anything in the x86 coherency setup that would disallow this and make 10000 the actual minimum?

<comment><USER7> I think not. The only limit seems to be the number of times one CPU can increment while the other is between load and store operations.

If you could manipulate your two cores with enough dexterity, you could force a 2 result, but without enough fine-grained control, the practical limit is going to be determined by the number of increments that can be "wasted" by sandwiching them between the load and store operations of the other thread. You would essentially need to stop and start each CPU at four very specific operations.

The practical results show that "load + add + store + load + add + store" on one thread probably never happens during a single "add" on the other thread. You would need that to happen at least once to get below 10000. Otherwise, each increment can waste no more than one increment for the other thread, and you end up with at least 10000.

The experimental numbers are probably indicative of how long the add portion of INCL takes in relation to the whole thing.

</comment></comment><comment><USER8> The author is incorrect in the section about memory fences. x86 has strong memory ordering [1], which means that writes always appear in program order with respect to other cores. Use a memory fence to guarantee that reads and writes are memory bus visible.

The example that the author gives does not apply to x86.

[1]There are memory types that do not have strong memory ordering, and if you use non-temporal instructions for streaming SIMD, SFENCE/LFENCE/MFENCE are useful.

<comment><USER9> The authors point still holds if writes might not appear in program order on other CPU sockets, not just other cores within the same socket.

Do you have a reference for the strong memory ordering on x86? I'd like to read more about it.

<comment><USER10> x86 enforces (essentially) total store order across all sockets: [http://www.cl.cam.ac.uk/~pes20/weakmemory/index3.html](http://www.cl.cam.ac.uk/~pes20/weakmemory/index3.html). The barriers are still useful for kernel code because other processors on the machine usually don't participate in the cache-coherency protocol.

</comment></comment></comment><comment><USER11> For a somewhat dated read for an introductory/high-level survey of the state of CPU design up to 2001, I find [1] to be quite informative. Of course, having been written in the frequency scaling era some of the 'predictions' are way off the mark. Nevertheless, I find it a good resource for someone looking to get a bird's eye view of the 30+ years development in the field.

[1] [http://www.ece.cmu.edu/~ece447/s13/lib/exe/fetch.php?media=0...](http://www.ece.cmu.edu/~ece447/s13/lib/exe/fetch.php?media=00964437.pdf)

</comment><comment><USER12> If you enjoyed this article, you might also want to check out Agner Fog's optimization manuals and blog (which I decided were probably worth a separate submission): [https://news.ycombinator.com/item?id=8874206](https://news.ycombinator.com/item?id=8874206)

</comment><comment><USER13> All features that make C look high level nowadays, contrary to what many think.

None of them are exposed on ANSI C.

<comment><USER14> Well, you can still use them in C/C++ code via:

#include <mmintrin.h> // Intel MMX

#include <xmmintrin.h> // Intel SSE

#include <emmintrin.h> // Intel SSE2

#include <pmmintrin.h> // Intel SSE3

#include <tmmintrin.h> // Intel SSSE3

#include <smmintrin.h> // Intel SSE4.1

#include <nmmintrin.h> // Intel SSE4.2

#include <ammintrin.h> // Intel SSE4A

#include <wmmintrin.h> // Intel AES

#include <immintrin.h> // Intel AVX

#include <zmmintrin.h> // Intel AVX-512

#include <arm_neon.h> // ARM NEON

#include <mmintrin.h> // ARM WMMX

And a full list of what is possible in Microsoft Visual C: [http://msdn.microsoft.com/en- us/library/hh977022.aspx](http://msdn.microsoft.com/en- us/library/hh977022.aspx)

Now the reason why they are not in ANSI C is that low-level CPU features (just like raw instructions) are not portable by nature.

<comment><USER13> Where are the headers for out-of-order execution, cache levels, execution pipelines, ...?

Additionally not all C compilers provide such headers.

<comment><USER14> There are a lot of prefetch instructions and write-barriers in the available intrinsics:

[http://msdn.microsoft.com/en- us/library/hh977022.aspx](http://msdn.microsoft.com/en- us/library/hh977022.aspx)

I do not think one has full control over OOO execution on x86-64 processors. Also I do not believe one has control over the execution pipeline even in assembly, although I do not know exactly what you mean by that, so it could just be a misunderstanding.

<comment><USER13> My whole point is that this isn't C any longer, it is Assembly.

<comment><USER15> But assembly doesn't have instructions for "out-of-order execution, cache levels, execution pipelines, etc"

<comment><USER13> That is what Assembly data sheets provide.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> In the section on rdtsc, the author should really mention that there's a new, serializing version called rdtscp, so you should prefer that.

<comment><USER16> rdtscp also consumes an extra register though.

</comment></comment><comment><USER17> Another exciting thing with the new PCI-Express standard is the Direct Cache Access, especially useful for high speed networking:

[http://web.stanford.edu/group/comparch/papers/huggahalli05.p...](http://web.stanford.edu/group/comparch/papers/huggahalli05.pdf)

<comment><USER18> Speaking of, I think we'll see nvme being the new hotness this year. NVME is going to bring crazy parallelism and queue depth to block devices. Finally we'll be able to exploit flashs inherent parallel access in a sane way.

[http://en.m.wikipedia.org/wiki/NVM_Express](http://en.m.wikipedia.org/wiki/NVM_Express)

<comment><USER19> Anandtech already did a review..

[http://www.anandtech.com/show/8147/the-intel-ssd- dc-p3700-re...](http://www.anandtech.com/show/8147/the-intel-ssd- dc-p3700-review-part-2-nvme-on-client-workloads/2)

</comment></comment></comment><comment><USER20> > If we set _foo to 0 and have two threads that both execute incl (_foo) 10000 > times each, incrementing the same location with a single instruction 20000 > times, is guaranteed not to exceed 20000, but it could (theoretically) be as > low as 2.

Can someone explain the scenario where this test would result in _foo = 2? The lowest theoretical value I can understand is foo_ = 10000 (all 10000 incls from thread 1 are executed between one pair of load and store in thread 2 and hence lost).

<comment><USER21> You're almost there! Basically that swapping you outlined occurs twice, once on each side.

1\. Both threads read '0', beginning their first incl instruction (A: 0, B: 0, Store: 0)

2\. Thread A completes execution of all BUT ONE incl, writing it's second to last value to the store (A: 9999, B: 0, Store: 9999)

3\. Thread B increments it's '0' to '1' (A: 9999, B: 1, Store: 9999)

4\. Thread B writes it's '1' to the store (A: 9999, B: 1, Store: 1)

5\. Thread A begins it's final incl and reads the '1' that thread B just stored (A: 1, B: 1, Store: 1)

6\. Thread B executes all remaining incl instructions, writing its final value to the store (A: 1, B:10000, Store: 10000)

7\. Thread A continues it's final incl and increments it's '1' to '2' (A: 2, B:10000, Store: 10000)

8\. Thread A stores it's final '2' result (A: 2, B:10000, Store: 2)

9\. All instructions have executed, and the result is '2'

It is, of course, completely theory and extremely unlikely under real use as the authors graph shows, but it's one of those threading 'gotchas' that lead to occasionally unpredictable results.

</comment></comment><comment><USER22> These features debuted way before the 80s, arguably with the exception of out of order execution. Take any feature discussed and its wikipedia history section will tell you about CPUs and computers in the 60s that first had them. Caches, SIMD (called vectors back then), speculative execution, branch prediction, virtual machines, virtual memory, accelerated IO bypassing the CPU... all from the 60s.

<comment><USER13> Just like everything else in computing. We are still trying to catch up with the Xerox PARC model of live coding, for example.

However just a selected few could touch said hardware and you could buy a very nice house with what they used to cost.

</comment></comment><comment><USER16> One of the other weird things is that the general purpose chips are supposed to be getting large chunks of memory behind the northbridge. If I'm not mistaken, it's supposed to be used as another level in the cache hierarchy, which could be another boon to things that leverage concurrency.

</comment><comment><USER23> Nice improvements. But they seem only marginal. Yes, speed may have gone up by a certain factor (which has remained surprisingly stable in the last decade, or so it seems).

On the other hand, programming complexity has gone way up, while predictability of performance has been lost.

</comment><comment><USER24> Doesn't this come down to:

#1: Fit in cache.

#2: Try to multithread

all the rest is marginal</comment>


"Astrobiologist" sues NASA, says Mars rock a "mushroom-like fungus" - <AUTHOR> http://arstechnica.com/science/2014/01/unconvinced-that-jelly-donut-sized-mars-rock-was-just-a-rock-man-sues-nasa/ <comment><USER2> We've got to ship it home guys, it's our only chance!</comment>


Ask HN: How do you learn a new programming language - <AUTHOR> If you already know couple of popular languages such as Python, Java, C and you want to start learning a new language, say Elixir, how would you start.<p>Would you go bottom up: follow a book or online tutorial and start from very basics. Or would you top down: start with a project and then lookup how to do things. <comment><USER2> It depends..

case a) I already know the basic concepts (say "imperative" or "object oriented"). Then I skim over a few tutorials, the documentation of the standard library and some style guides. Then I build something I don't have to think about so I am not distracted by the task itself (once upon a time it always was a simple blogging software, nowadays it is a rudimentary httpd).

case b) I don't know the basic concepts. Then I get the best book about it and go from there. This takes considerably more time and is nothing I'd do if I had to use the language professionally soon. (I spent about 1.5 years reading On Lisp and Common Lisp the Language in the little time a 80h/week job in a startup left me, several times re-reading parts until it finally "clicked" when I could recognize functional concepts in my own perl code. Only then I started to write code in CL.).

</comment><comment><USER3> I start by finding simple code to read. Often, if I start with the books and classes, I'll end up more confused than if I just looked at examples and stumble myself through the code, and look up things that I don't understand.

The next step is setting up a build process so I can hello world.

From then, it's time to figure out why I wanted to learn the language in the first place, and tackle something that gives me that.</comment>


Harmony Of My Dreams  - <AUTHOR> http://brendaneich.com/2011/01/harmony-of-my-dreams/ <comment><USER2> Post by the inventor of JavaScript, on the future direction of the language, nice.

</comment><comment><USER3> They all seem like well-thought-out changes, and pleasantly schemey.</comment>


Inoculating the Public Against Misinformation about Climate Change - <AUTHOR> http://onlinelibrary.wiley.com/doi/10.1002/gch2.201600008/abstract <comment><AUTHOR> Supporting stories:

[https://www.psychologytoday.com/blog/the-athletes- way/201701...](https://www.psychologytoday.com/blog/the-athletes- way/201701/fake-news-vaccine-inoculates-against-alternative-facts)

[https://phys.org/news/2017-01-psychological-vaccine- immunize...](https://phys.org/news/2017-01-psychological-vaccine-immunize- fake-news.html)

[http://www.cam.ac.uk/research/news/psychological-vaccine- cou...](http://www.cam.ac.uk/research/news/psychological-vaccine-could-help- immunise-public-against-fake-news-on-climate-change-study)

and the authors briefly interviewed on the Science Friday podcast (great show, highly recommended) : [http://www.sciencefriday.com/segments/building-an- immunity-t...](http://www.sciencefriday.com/segments/building-an-immunity-to- fake-news/)</comment>


Hacker News Directory: Meet people from other companies - <AUTHOR> http://jmtame.posterous.com/hacker-news-directory-meet-people-from-other

<comment><USER2> I hate to be the grammar police, but a little bit of capitalization goes a long way.

<comment><USER3> typing in all small letters is a movement though

</comment></comment><comment><USER4> I think you should allow an option for secondary email address for communication. I don't want to use my corporate or school id for HN-related stuff.

</comment><comment><USER5> Hah. Something about the proxy server we have at work makes this unnecessary. If HN takes too long to respond, I end up logged in as a HN-reading coworker :)

Maybe there needs to be a "cache-control: no-cache" header, or something.

<comment><USER6> I recently heard from him. He gets your pages too. But I don't think you're actually logged in as one another, in the sense of being able to do anything (e.g. vote) as one another.

If you know of anything I can change to prevent HN pages being catched by your proxy, please let me know.

<comment><USER7> Serve pages with the "Cache-Control: private" HTTP header.

<comment><USER6> Thanks. I just added that header in what I believe are the right cases. Please let me know if you still see the problem, jrockway (allowing time for caches to clear).

<comment><USER5> Will do. Thanks for taking a look.

</comment></comment></comment></comment></comment><comment><USER8> I'd love to sign up, but apparently students and employees of eight companies can register.

Would the creator consider opening this up? Those of us who work for smaller companies and businesses would love to have the opportunity to connect without being on the same level as Googlers.

<comment><AUTHOR> what's your company's email?

<comment> tomh- Just wondering, why should the users go through this "annoying" process of getting their company/school added to the directory. This would be more user friendly if it was done automatically as part of the signup process. Signing up for a new service is already annoying enough as it is. Emailing to get "permission" to sign up is a step to far for me to use any service which requires to do so.

<comment><AUTHOR> any u.s. school is automatically added. as for companies, we wanted to target it at students doing internships at places like google and facebook. there's nothing to stop you from joining with your company, and I would agree that part is annoying. it should speed up over time.

</comment></comment></comment></comment><comment><USER9> How is this better than a mapping between uid and LinkedIn?

</comment><comment><USER10> I went to the page hoping to signup, but I fall into 1.5 categories. Sorry for the humour. Anyway, I'm a student from a not-well-known college and I'm a freelancer. How do I signup as a freelancer?

Do you also accept companies from outside US?

</comment><comment><USER11> What is the motivation behind limited types on schools/companies?

<comment><AUTHOR> it's only slow starting off, but as we add more companies it will become easier. it seems like the most intuitive way to categorize the directory. enter company email, done. most students will probably intern at a few places (google, facebook, microsoft, etc)

</comment></comment><comment><USER12> I think it would make plenty of sense to let companies see students, and vice- versa.</comment>


Implementing Impersonation - <AUTHOR> https://jamie.ideasasylum.com/2018/09/29/implementing-impersonation/ <comment><USER2> > if possible, disable user notifications/emails when an account is being > impersonated — or remind staff that impersonating a user will still generate > emails, notifications, and dashboard events.

Never, ever disable notifications. Notifications are the only way the user has to cross-check that the agent actually did the thing they were supposed to do, and only that thing.

I worked for a large benefits outsourcing corporation. We had impersonation, and we had a way for agents to cancel notification. A few agents realized they could change a participant address, get a 401k loan, and then cancel the notifications for those things. They used these combined capabilities to steal from our participants.

<comment><USER3> > Never, ever disable notifications. Notifications are the only way the user > has to cross-check that the agent actually did the thing they were supposed > to do, and only that thing.

Disagree here, when the user is not aware of the impersonation disabling things like notifications and the ability of the admin to interact with notifications is the correct thing to do so that the admin does not dismiss other notification on behalf of the user or spam the user from activity the user didn't do themselves. The user could think that their account has been hijacked by an external actor which creates it's own set of trust problems for the user with your product. (I would however, leave them enabled on a non production environment; for testing purposes)

> I worked for a large benefits outsourcing corporation. We had impersonation, > and we had a way for agents to cancel notification. A few agents realized > they could change a participant address, get a 401k loan, and then cancel > the notifications for those things. They used these combined capabilities to > steal from our participants.

This sounds like a failure from the product and development team who designed and implemented this system. If you are tracking the impersonation correctly it should be easy to see internally that the user didn't change the address or request a 401k loan themselves and a system should be in place to ensure that such changes get flagged and reviewed.

Impersonation should generally only be used in 3 situations.

1\. With a user to reproduce a problem they are having. (In this case leaving notifications enabled should be fine) Though you can use an external integration like inspectlet to (and look at logs) replay user sessions.

2\. As read only impersonation to ensure the user world view is correct. (This stops you from testing/navigating everything because some times you need to POST or PUT to get to certain frontend pages or reproduce other user behaviour) It is still very useful though in most cases.

3\. A write impersonation on a non production environment (staging/devtest/locally). You can dump production data into one of those to test deeper on the frontend.

In general, some kind of admin panel/support system should be used to do write changes to a users account but lets say you need to do writes on production with impersonations like your example above.

It is generally support staff that is using this feature to write on behalf of the users (developers generally have access to way more and have all other kinds of tools and knowledge at their disposal to manipulate user data)

I always wondered why support systems show staff members user details like the last 4 digits of a SSN instead of hiding that information and having the support member enter in the digits the user gives them to validate and unlock more functionality like your situation above for the duration of the call. This way the admins/support staff can not randomly decide to act on behalf of users, they are also generally going to be on a recorded call so it is easy to ascertain if the user actually needed the impersonation support. This means that the review backlog from the flagged activities is minimal and easy for another isolated team to go through/ heck you could even train some ai models to do that part for you with some voice transcription.

<comment><USER2> > when the user is not aware of the impersonation

I'm curious, so please don't assume ill intent. What's a valid use-case where an event would be 1) done by an impersonator, 2) not driven by the person being impersonated, and 3) produce a notification that should be squelched?

Your three use cases don't seem to lead me to those situations: In the first one, you agree that notifications are OK. I agree with that.

In the second one, it's read-only, and so I wouldn't expect notifications to be produced. If there are notifications about read-only aspects (your account was accessed, e.g.), I suppose I'd be OK with them being suppressed, but I think I'd still lean towards a custom notification (your account was accessed by an administrator, e.g.).

In the third one, shouldn't you scrub your data while you dump it? Everywhere I've ever worked that didn't scrub their data (i.e. set all of the email addresses to firstname.lastname@example.com) eventually regretted it.

</comment></comment></comment><comment><USER4> This is (one of) the big reason our team is moving over to Keycloak. It has full support for token exchange/impersonation and has a full audit trail along with it. You can get very granular about who can impersonate who.

</comment><comment><USER5> Separating admins from users is generally a good idea, but it doesn't really apply to the Facebook situation. They were trying to let users look at their own profile from the perspective of another user. This is useful because if you set a photo to be visible to "friends" and then you tag some people in the photo, their friends can also see it. So instead of tracking down every person you tagged and making sure, say, your mom isn't in every friend's friends list, you can just view your profile as it appears to your mom and make sure the photo isn't there.

</comment><comment> J-Kuhn Can confirm that impersonation will open a hole. Found my first security bug 10 years ago in moodle[1]. It allowed students to impersonate admins with came with full access to the admin panel.

[1]: [https://moodle.org/mod/forum/discuss.php?d=87972](https://moodle.org/mod/forum/discuss.php?d=87972)

</comment><comment><USER6> Nice read. And a related reading is "how we impersonate users" [1] by eager.io (not related to them). I particularly like their sudo-button--smart

[1] [https://eager.io/blog/how-we-impersonate- users/](https://eager.io/blog/how-we-impersonate-users/)

</comment><comment><USER7> Impersonation used to be built into the Auth0 dashboard, but they have since removed it (or deprecated it for new accounts).</comment>


Ask HN: Is Udacity's Machine Learning Nanodegree Worth $1k? - <AUTHOR> I'm considering applying for Udacity's ML nanodegree program: https://www.udacity.com/course/machine-learning-engineer-nanodegree--nd009t
Syllabus:
https://s3.amazonaws.com/iridium-content/documents/en-US/MLND+2-Term+Syllabus.pdf
I was wondering if anyone has had any experiences with Udacity's ML-related courses. I see that they have a Deep Learning course and a Data Analyst course as well, which are appealing.
I've been studying these topics in my spare time, and I've been able to pick up the basics thanks to a few good books. Judging by the syllabus, would I come away with skills similar to what a working ML engineer actually uses in the field?
I'm interested in programming my own AI bots similar to OpenAI's dota 2 bot. <comment><USER2> No

<comment><AUTHOR> Oh</comment></comment>


Unofficial Google Play Music Desktop Client - <AUTHOR> https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL- <comment><USER2> > Never again will you have to hunt through your tabs to pause your music,

> Supports media keys (play, pause, stop, next, previous)

A relatively recent Chrome feature that many aren't aware of is the ability of extensions and apps to use Chrome- or desktop-wide (global) hotkeys. So if you're using the Google Play Music extension, you can, for example, hook it up to your media keys and it will work even when Chrome isn't focused. Go to chrome://extensions/ and scroll down the Keyboard shortcuts to learn more.

(I'm sure that there are many other reasons people prefer desktop apps, but this was the big one for me.)

<comment><USER3> There is an extension that enables this for multiple music sites too: [http://www.streamkeys.com/](http://www.streamkeys.com/)

</comment></comment><comment><USER4> > Never again will you have to hunt through your tabs to pause your music, or > stop listening to your favourite song because Chrome is guzzling up all your > RAM..

> Dev Requirements

> Node.js (Recommend 4.2.x)

Yeah, right....

<comment><USER5> What's the problem with the requirements?

<comment><USER6> OP is challenging the claim that node will be more memory efficient than Chrome.

<comment><USER7> Perhaps more importantly, Electron is literally Chromium.

</comment></comment></comment></comment><comment><USER8> This is looking good, but Radiant Player is the current king of Google Play Music on OSX.

[https://radiant-player.github.io/radiant-player-mac/](https://radiant- player.github.io/radiant-player-mac/)

        brew install Caskroom/cask/radiant-player

<comment><USER9> The difference is that Radiant requires Flash as far as I read.

<comment><USER10> Last I checked so did the Google Play website player.

<comment><USER11> You should check again; it's tucked under the labs section but there's an HTML5 audio player available as a Flash alternative. Doesn't work in Safari though.

<comment><USER10> Ah, I was using Safari. Thanks!

</comment></comment></comment></comment></comment><comment><USER12> > Never again will you have to hunt through your tabs to pause your music

Not exactly the same thing, but in Chrome, you can enable "Tab audio muting UI control" in chrome://flags which allows you to click the speaker icon on tabs that play music to mute it. Click again to unmute. Very handy for when you get a phone call!

<comment><USER13> Firefox has the same thing, enabled by default.

<comment><USER14> The lack of this by default is something that has annoyed me whenever I have been forced to use chrome.

<comment><USER15> To didn't enable a setting in Chrome, yet this still works for me, and has for a while.

</comment></comment></comment></comment><comment><USER16> Literally just a webview in an X window. This is not a 'desktop app'. This is bastardized web.

<comment><USER17> When does a 'desktop app' become a 'bastardised web' (sic). Is it when it communicates via http? When it renders HTML? Lots of apps that you may be running (e.g. iTunes, the Mac app store) do this. If it's well integrated with the host OS, I don't see what the problem is; would you rather it weren't cross-platform, or it used another cross-platform framework, or it were several separate codebases?

<comment><USER4> > When does a 'desktop app' become a 'bastardised web'

When it is a chrome over a gigantic web view instead of properly making use of native UI widgets.

> iTunes, the Mac app store

Both good examples on how not to do it, specially on Windows.

</comment></comment></comment><comment><USER18> No Chromecast Support. Non-Starter for me.

<comment><USER19> That was the first thing I went to find as well. It's too bad.

</comment></comment><comment><USER20> I noticed the tray icon for this in OSX isn't black. It would seem more native if it matched.

</comment><comment><USER21> I encourage all open source projects so this is cool. That said, I just open Play Music in a new Chrome window, not a tab, and use the keyboard to switch between Chrome Windows and other apps. Easy enough. I also sometimes have my iPad Pro running music while I work on my laptop.

</comment><comment><USER22> Check out my favorite media player, cmus. It's a light weight iTunes alternative for command line.

</comment><comment><USER23> I was a little surprised that the download was 50Mb, but this app is very well done. Really like the theming options.

</comment><comment><USER24> Heyyyyyy ... [http://i.imgur.com/VucG9gy.png](http://i.imgur.com/VucG9gy.png) ... That's basically Spotify (desktop application). The resemblance being so high makes this a little iffy, and suggests this project won't stay up (at least in its present form) for too long.

That said, why hasn't Google yet created a desktop application for Google Play Music? It's mind-boggling to me. I would love to ditch Spotify (primarily because 1) I don't like its searching/discovery UI, and 2) its desktop application is slow and buggy as well)

<comment><USER25> >That said, why hasn't Google yet created a desktop application for Google Play Music?

I don't understand the need (and I guess that Google does not either).

Is it because you need an offline mode ? That's the only addition I can think of.

With the play music chrome extension, the website responds to media keys, so outside of a dedicated app icon in the tray (even though the miniplayer has one), I don't see what a desktop app would bring.

<comment><USER23> You can also play your local music with apps like Spotify. No desktop client is a huge issue for me.

<comment><USER26> The only reason Spotify needs the ability to play local music is to play music that is not on Spotify. Most other services, including this Google one, let you upload your collection to play on any device.

<comment><USER27> Why would I want to waste bandwidth/traffic quota on music I have locally?

<comment><USER25> because that way you don't need to keep these files locally.

My collection is quite large, it is backed on a hard drive and also available on Play Music.

Since they have a good matching algorithm, uploading an album is often instantaneous.

It is probably not for everyone, but I really like this service.

<comment><USER27> Ok, maybe I worded that to strongly. It _is_ a great feature as an option, but IMHO the software should still be able to use local files if they are available.</comment></comment></comment></comment></comment></comment></comment>


Apple: We're responsible for 514,000 American jobs - <AUTHOR> http://www.thetechblock.com/articles/2012/apple-responsible-for-514000-american-jobs/

<comment><USER2> This is pathetic. Apple attempts to justify huge markups on cheap foreign labour by boasting about how many jobs it has created at home. Pure bullshit. It _has_ tocreate those jobs to sustain its business. It does not _have_ to use foreign labour, but it does because it's cheaper. If they could outource their entire operation and see X times profi, you can be absolutely sure they would. In a heartbeat.

<comment><USER3> I don't understand why people get mad at Apple. Get mad at American consumers for demanding, no worse, feeling entitled to paying extremely low prices for very high tech things. Apple could use American manufacturing and either produce crap at low profits, or extremely expensive gadgets no one could afford. Instead, they produce millions of devices people want and buy, then have to explain themselves for not employed good old fashioned American labor in their factories.

They're creating high tech, high-skilled jobs (product design, software development, hardware diagnosis and repair) at home, and outsourcing the low- tech low-skilled jobs to foreigners.

<comment><USER2> I'm happy they're doing well. They have made smart business decisions and some great products. I just wish they'd stop trying to spin everything. They made the decision to ship jobs overseas and that was good for their bottom line, but instead of talking about that, they talk about how many US jobs they've created. It's not an honest conversation.

</comment></comment></comment><comment><USER4> Quick math on the iOS app economy:

> The app revolution has added more than 210,000 iOS jobs to the U.S. economy > since the introduction of iPhone in 2007

> Apple has paid more than $4 billion in royalties to developers through the > App Store

The app store has been around since summer '08, so let's say it's been around for 3.5 years.

$4B / 210,000 / 3.5 = $5442.17 per annum

Converted to an hourly wage, that's $2.62/hr (or $454 monthly). Way below minimum wage. Either Apple has some funky math going on here, or they've created 210k very crappy jobs.

Note: I'm ignoring Advertising and B2B revenue here, so when you factor that in I'm sure the gross product jumps quite a bit. Still, Apple ignores that part of the market as well, so either they should publish a gross product for the iOS economy, or they're leading me to the conclusion above.

<comment><USER5> Some notes, on why I think your calculation while interesting, is way off:

1\. You shouldn't consider summer 2008 as _epoch_.

2\. Not all of those $4B were paid to US developers (I'd guess less than 60% of that)

3\. A huge number of apps (thousands) on the App Store are free (from Google, Facebook, Amazon, Zynga, ...) - For all we know, all such _free_ apps have been created by a team of 10-15 iOS developers/testers/etc.

I'm also skeptical about the claim, but I think that your calculation wasn't a good one.

<comment><USER6> Well. in actuality the $4B is paid according to Pareto distribution ( Pareto principle). That means a small chunk of developers with highly successful apps are going to get a large chunk of that $4B. This makes Apple's claim actually worse.

</comment></comment></comment><comment><USER7> I wish Apple would turn its gift for innovation toward manufacturing so they can bring those jobs back home to America, or at least some percentage of them. That would be a very noble effort on their part.

<comment><USER8> Steve Jobs told Obama point blank that those jobs are never coming back. We're better off looking for alternatives.

<comment><USER9> Oh, so now he's an economist as well? Interesting.

<comment><USER2> They know the jobs aren't coming here. We know it. So why do they try and distract us with this fluffy propaganda? Apple thinks we're all stupid. As long as their share price keeps climbing they'll keep doing shit like this, and PROVE that we're all stupid.

<comment><USER10> Isn't 1/2 million jobs better than one at all? You sound like you want Apple to disappear from the face of the earth.

<comment><USER2> No, they're big and successful and I buy their products. I just want them to be honest.

</comment></comment></comment></comment></comment></comment><comment><USER11> Trying to bring back manufacturing to US seems a short sighted move. As 3D printing improves, is there really a future for manufacturing? Future Generations are not going to buy manufactured products from China, they are gonna print at local mall.

</comment><comment><USER12> Apple: 514 000 jobs

Healthcare: 14 336 000 jobs [1]

Healthcare embarrasses Apple.

[1] <http://www.bls.gov/oco/cg/cgs035.htm>

<comment><USER13> Umm. Healthcare is an industry that touches 100% of citizens' lives.

Apple is a corporation that sells a few percent of the computers and phones bought each year.

What is embarrassing about that?

<comment><USER12> Apple says, "As a result, we've created or supported more than 500,000 jobs for U.S. workers: from the engineer who helped invent the iPad to the delivery person who brings it to your door" [1]

It tries to include every person, just to make the number of jobs higher (it even includes healthcare workers).

Healthcare includes only jobs strictly associated with it - and that's embarrassing for Apple which had to include other industries.

"47,000 jobs at Apple" [1] - that's the real number of Apple jobs, and it's comparable with Intel (45375 jobs, 55% of their worldwide employment) [2]

[1] <http://www.apple.com/about/job-creation/>

[2] <http://bit.ly/AdgusU> [PDF] Intel "2010 Annual Report and Form 10-K"

</comment></comment></comment><comment><USER2> Apple fanboys calm down! I'm not mad about how well Apple is doing, they'e earned their success. They've made some great products and they've made some great business decisions, like using offshore manufacturing.

My complaint with Apple is with choice to start a dishonest conversation about jobs in the US instead of talking about why they use foreign manfacturing. They don't want to talk about their "China problem" because it's unpopulart so they spin a story about how many US jobs they have created to distract you.

If they were proud of their offshore manufacturing, why don't they have a page about that? Don't hold your breath waiting ro that one.

Why would they put that page up? What's in it for them? It distracts you from the problem and makes you like them for creating jobs they _had_ to create anyay.

<comment><USER14> > They don't want to talk about their "China problem"

What else do you want Apple to say?

It is common knowledge that they outsource manufacturing overseas, and it's common knowledge that they do it simply to maximize profits, however, it's not something to be publicly proud or ashamed of, it's just business.

Making lots of jobs in America, OTOH, is very positive.

<comment><USER2> They don't just want to avoid talking about it, they are actively working to spin it. If they had said nothing about jobs in the US, which came completely out of nowhere, I would have a lot more respect for them. They are acting ashamed by trying to distract everyone. Yes, be proud that you created jobs, but be honest about why you're suddenly trying to draw attention to that fact.</comment></comment></comment>


Bloated - <AUTHOR> http://fabiensanglard.net/bloated/index.php <comment><USER2> With regards to the "usually a news site" part, somebody put me onto CNN's "lite" page the other day, and it's honestly a freaking joy to use.

[http://lite.cnn.com/en](http://lite.cnn.com/en)

On the other hand, I think there's definitely a case to be made for rich, application-like presentation of content, when it _enhances the delivery of information_. For instance:

[http://www.r2d3.us/visual-intro-to-machine-learning- part-1/](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/)

The problem is that everyone dreams of making something cool like the latter, when their actual content is much closer to the former.

<comment><USER3> >somebody put me onto CNN's "lite" page the other day, and it's honestly a freaking joy to use.

That's neat, but I think having this with some lightweight, web-optimized static images would make this better without being detrimental to lightness.

Sometimes a picture does say a thousand words. A photograph of a person being interviewed is something that adds a lot to an article. Plus there's the whole photojournalism aspect that's lost in only keeping text.

It's not the images, per se, that make heavy pages heavy, after all. It's tons of JS that pulls in FSM knows what.

<comment><USER4> _a photograph of a person being interviewed is something that adds a lot to an article._

Does it? It seems that it ought to add nothing to the content - unless the content specifically references their appearance.

As well as that, unless it's a person you can google independently (like a head of state, or large company CEO) there's very little chance you can know whether the image is actually the person being interviewed, and even less chance you can tell whether it was /this/ interview. What you do know is that the image will have been posed, chosen from a lot of candidate images, and quite likely edited after that.

It might feel good to recognise and see a human face, and therefore "add a lot" from the publisher side - exploiting that sense to make people click and keep people there longer - but that's not quite the same.

<comment><USER5> _Does it? It seems that it ought to add nothing to the content_

"Add"? It's a part of the content. It's been in paper for more than a century.

</comment></comment></comment></comment><comment><USER6> This feels like the trillionth time I read a rant like this, but that doesn't make it less true or important.

I really wonder from time to time if it's just me, having become and old grumpy "get off my lawn" grandpa unable to cope with the world keeping turning and moving forward.

"You can't write everything from scratch every time"

"That's just how it's done today"

"Cmon, people aren't running IE5 on a pentium 2 anymore"

"SPAs are so much better UX. Everything should be an SPA!"

 _heavy breathing with red face_

It's funny how this guy is complaining about a 7 year old laptop; any non- flagship mobile device from 4 years ago is almost unusable on the web.

<comment><USER7> As long as advertising corporations keep control of your web browser, the experience will always be optimized for ad tech and maybe some other megacorp interests, but definitely not for you. That's the problem.

I imagine a web browser actually made for the user will try hard to extract content from web pages by default, render them with decent consistent UX and not blindly let third parties display and execute any crap they want. There is no reason to render say articles with comments in thousand different ways for thousand websites. And no reason it can't be blazing fast on RaspberryPi.

<comment><USER5> Agreed, current add-ons are clearly not enough.

</comment></comment></comment><comment><USER8> Kudos to the author. I think if every technical person with a blog takes the time to reevaluate it will be a good start.

Over the years I've reworked my own blog to not use any third party dependencies (bootstrap, jquery, etc.). And use very few images. My last thing is to get rid of Google Analytics, which piwik (now matomo) has failed to replace but hope is not lost. I also discovered that GA does not respect DoNotTrack, so I modified it to not load in this case.

At the very least, all HNers with blogs should concider doing this.

<comment><USER9> I don't have any analytics on my blog. Can you explain the benefit of GA over Piwik? What genuinely useful insights does GA give you (specifically for a personal blog) that Piwik does not? (I assume that the info from Piwik would be similar to what you get from computing stats from the web server access log.)

<comment><USER8> It's not the insights, I think piwik got that part right. The problem is when traffic increased piwik and the server it was on could no longer support it.

<comment><USER10> Agreed, piwik with lots of traffic is a major problem that can slow the server to a halt (for those of us without a massive budget)

</comment></comment></comment></comment><comment><USER11> The sad thing is that even if 100% of the people with personal websites would do the same, it probably wouldn't change much. And yeah, I'm firmly in the "this old computer should definitely render web pages if it's good enough to run video games" camp and if the people working on current browsers argue that it's complicated, with all the scrolling and JS and stuff.. Well good riddance, web of 2018 - it was absolutely fine in 2008.

<comment><USER12> > The sad thing is that even if 100% of the people with personal websites > would do the same, it probably wouldn't change much.

Why not? A significant portion of my web browsing is done on people's personal websites, since they often have cool things to share. If I'm going to get better performance on these websites, I might change my browsing preferences to favor these even more heavily.

<comment><USER11> of course I don't have any real data, but I'd bet a lot that most of the internet's non-automated (i.e. human) web traffic is to big publications and organizations. The "private web" is kind of dead. (Let's assume a generous 20% usage, which is still kinda dead).

So _your_ web traffic might be to personal websites (mine is, too) - but we're a minority I guess.

So while the goal is laudable, even a 100% change would probably be a result of 20-30% of the web, I guess even less.

<comment><USER13> >So your web traffic might be to personal websites (mine is, too) - but we're a minority I guess

But then that would be an improved situation for the two of you, right? (And many others like you, including me.) So it would still make some difference to those who care.

The overall load on the web would still be higher than it could be, though, due to the bloat.

Small improvements should not necessarily be neglected or dismissed, though. Otherwise it becomes like a symptom of the original problem being discussed.

<comment><USER11> Sure, especially as it won't hurt. I think I've been doing pretty good with the websites I control - but I don't have many visitors (which is fine).

Everything is 'every little bit helps' and it shouldn't make you listen to the naysayers (e.g yours truly) - I'm just a little disappointed because I think it will not make a big difference. At least my conscience is clear ;)

<comment><USER13> Got you now, makes sense.

</comment></comment></comment></comment></comment></comment><comment><USER14> Great initiative. Site loads fast, text is readable, adblocker has nothing to block - what more could you want from website? You might want to look into optimizing SVG files, as Inkscape by default leaves a lot of unnecessary metadata.

<comment><USER15> I came here to write the same. svgcleaner[1] will reduce it from 8.4KiB to 1.3KiB (compressed with zopfli). Which is 85% smaller.

And a manually crafted one is just 477B. And 261B compressed. Which is just 3% of the original.

Now we can talk about bloatedness.

      <svg width="601" height="751" xmlns="http://www.w3.org/2000/svg">
        <rect width="600" height="750" rx="38" fill="white" stroke="black"/>
        <rect x="16" y="16" width="568" height="718" rx="24" fill="none" stroke="black" stroke-width="15"/>
        <text text-anchor="middle" font-family="Arial" font-size="150" font-weight="bold">
            <tspan x="300" y="200">FPS</tspan><tspan x="300" y="350">LIMIT</tspan><tspan x="300" y="660" font-size="350">15</tspan>
        </text>
      </svg>

[1]: [https://github.com/RazrFalcon/svgcleaner](https://github.com/RazrFalcon/svgcleaner)

</comment></comment><comment><USER16> This is why is I keep using RSS even though many people say it's dead.

I even went ahead to create a curated feed [2] for Hacker News to pair with my RSS reader [3].

I stopped doing casual web browsing years ago when many web owners started to bloat their websites with an extravagant amount of ads, excessive JavaScript code, and unnecessary "enhancements" _(like custom scrolling experiences and the like)_. Nowadays, websites like Hacker News, the old Reddit interface, Craiglist, and similar are the only ones that I find myself visiting, just because they are among the few hundreds that still load with server-side generated HTML and the UI is fairly minimal [3].

It doesn't helps much that the same front-end programmers that helped increase the bloat in today's web are the same group of programmers building _" modern"_ desktop software, looking at you Electron. They may call it convenient and productive all they want, but to me —and many others— it just means they are lazy and cheap. Not long ago I read an article from the author of TablePlus [4] explaining how he decided to build his app using native libraries even weighing the pros-and-cons of other GUI frameworks, including Electron, coming to the conclusion that slowing development time was worthy if the resulting product was performant.

Because at the end who is paying the bills?

• A customer that enjoys a fast and resource efficient desktop experience?

• Or the front-end programmer who's happy for using JavaScript to develop the app?

Think about it.

PS: almost 100% [5] :-)

[1] [https://github.com/cixtor/rssfeed](https://github.com/cixtor/rssfeed)

[2] [https://reederapp.com/](https://reederapp.com/)

[3] [https://thenextweb.com/dd/2017/06/29/why-are-some-of-the- ugl...](https://thenextweb.com/dd/2017/06/29/why-are-some-of-the-ugliest- sites-on-the-web-also-the-most-popular/)

[4] [https://tableplus.io](https://tableplus.io)

[5] [https://developers.google.com/speed/pagespeed/insights/?url=...](https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Ffabiensanglard.net%2Fbloated%2Findex.php)

<comment><USER17> > coming to the conclusion that slowing development time was worthy if the > resulting product was performant

What I don't get is where these claims of faster development time come from. Toolkits like Qt make it way faster and easier to build UIs than trying to use HTML/CSS garbage.

</comment></comment><comment><USER18> I use a similar design for my website, it has been like this for like 10 years now. I still tweak some php 5 code, and things just works on some free hosting.

The problem with the web is how permissive it is, so it gets bloated, and since online advertising, this trend is still going.

[https://en.wikipedia.org/wiki/Wirth%27s_law](https://en.wikipedia.org/wiki/Wirth%27s_law)

> is a computing adage which states that software is getting slower more > rapidly than hardware becomes faster.

What bothers me is how the web is making it impossible to run on modest smartphone, or how it's burning your battery into oblivion.

There might be solutions to this, like basically pre-parsing HTML and sending the parse tree, or re-factoring HTML and css rules into something more lean, or just rebuilding a new document format from scratch that is readable by humans, like markdown as a syntax, and rendering it directly without HTML.

We're often reminded about Knuth's "95% of the time", but HTML is really a crying example of a bad designed document format, which turned into a black hole of computing complexity since JS has access to the DOM.

Frankly web development disgusts me, and I avoid it as a career path as much as I can. We rely on web browsers and search engines way too much.

</comment><comment><USER19> I think the race to make the web an application platform is responsible for this. Web features are growing every day trying to match native apps, and the media guys leverage them to make us sad.

We really need to split the web stack in two somehow, differentiate consumption sites with some basic interaction from full blown applications, handle them completely separately down to the operating system integration level. Right now a web application like Facebook runs in a tab (?) or worse is shipped with a whole browser instance (eg Slack). That's something wrong here.

A Google-AMP like version of the web for things that are not GMail or Facebook (99% of the web, especially in the long tail) is probably good enough.

<comment><USER20> Well, it's also that the "web app" push only ever concerns itself with _features_ never with _performance_.

You'll frequently see things like "native apps can do X, so the browser should, too" where X is camera, opengl, files, etc...

Not necessarily wrong, but you basically never see anyone pushing the boundaries of performance. I can run games at native resolution in excess of 100fps all day long, but I can't scroll a fucking web page at 60fps? And the round-trip communication with a webworker, the only mechanism whatsoever to leverage the other 75-95% of the system's CPU, is measured in 100s of microseconds to _milliseconds_?

Being an app platform isn't just features, it's also getting the fundamentals to perform well. And the web just... doesn't.

</comment></comment><comment><USER21> WebP only works on ~73% of browsers ([https://caniuse.com/#feat=webp](https://caniuse.com/#feat=webp), no Firefox/Safari/Edge support), so it's a little early to switch all your images to it. MozJPEG is a good JPEG compressor.

<comment><USER22> You can use the HTML5 <picture> element to add a fallback jpeg for all browsers that don't currently support Webp

<comment> mh-cx Even better: you can let your image server check the accepted formats in the request header and send webp content transparently instead of jpg. Then you don't have to change your markup at all.

Browser's don't really care about file extensions.

[https://github.com/uhop/grunt-tight- sprite/wiki/Recipe:-serv...](https://github.com/uhop/grunt-tight- sprite/wiki/Recipe:-serve-WebP-with-nginx-conditionally)

<comment><USER22> Oh. Thanks! I didn't know that was possible

</comment></comment></comment></comment><comment> ux-app The new Reddit site is a major offender. After about 5 pages worth of scrolling FF becomes janky (takes Chrome about 10 pages, but i'm off Chrome now). Once the jank sets in closing the tab leads to a UI lockup as FF presumably tries to unload all the garbage in memory.

At least they still have old.reddit to fall back to.

<comment><USER8> I guess the new design is curing the addiction to reddit.

</comment></comment><comment><USER3> I am dreaming of a solution to bloat where _all_ mainstream browsers would be throttling per-tab CPU/memory/bandwith usage to Pentium III-on-DSL-circa-2001 levels by default.

(The "full speed" option should be there to keep power user from switching, but it should not be obvious to, say, 50% of users).

This should be pushed as a _feature_ : now your browser helps make your computer work faster; any slowness in page loading is to be blamed on the websites.

This will not affects sites like Hackernews, but will bring a lot of websites to a standstill - and will force them to slim down.

<comment><USER23> A perhaps more workable solution would be to have per-tab indicators of total bytes downloaded, peak memory used, and total CPU time used (the first one already exists as part of the developer tools, but it's hidden by default). People on fast computers and fast networks do not feel the weight of bloated pages; making it visible to everyone provides an incentive to reduce it.

<comment><USER24> Perhaps summarised as "the percentage of your battery this tab has consumed".

<comment><USER25> I really think that you are onto something there. Or maybe a bloat index calculating the ratio between user content and downloaded content. Like 1kB of text but with 2 MB of JavaScript/CSS etc would give you an index of 2000 whereas if you only had 23 kB of JavaScript/CSS etc, it would 23.

</comment></comment></comment></comment><comment><USER26> Kudos, Fabien! Your site has been endlessly informative on my own graphics programming journey. I think you can include a donate button and maybe raise some funds toward a new laptop or nvidia turing gpu ;)

One site I use multiple times a day that I think has decent information architecture is FinViz: The Stock Screener. High resolution quotes, charts and heatmaps. Updated on intervals of a few seconds. With lots of aggregated news and blog links.

This cryptocurrency performance page is a great example. cryptowat.ch and many other tools run high cpu loads. With an emphasis on saturating the information space with real time depth of book, exchange arbitrage, analytics, etc. When all you really desire is a quick snapshot of relative price action.

[https://finviz.com/crypto_performance.ashx](https://finviz.com/crypto_performance.ashx)

</comment><comment><USER27> Lighthouse (now the Chrome dev tools "audits" tab) makes it really easy to trim down your site to the bare minimum. I've using on my personal blog, it's actually quite fun to work within constraints :)

</comment><comment><USER28> Disable Javascript by default. That's it. Single one-button plugin made my web experience incredibly better, and almost all of the news and blog sites became much cleaner and more responsive.

</comment><comment><USER29> I agree with his ideas but I still think I'd rather have his old page back [1].

I think my main issue is the monospaced font which is good for code but it's not very pleasant in the eyes when we're talking about a blog post or any paragraphs.

[1] [http://fabiensanglard.net/Compile_Like_Its_1992/index.php](http://fabiensanglard.net/Compile_Like_Its_1992/index.php)

</comment><comment><USER30> I used to work for the companies that build these bloated websites. I spent a year rebuilding the BBC News front page to make it not-awful[1] but it felt like I was fighting against the rising tide.

I've since moved on and now work at SpeedCurve. It's pretty motivating to see so many of our customers making their websites faster and generally better for the people who use them. It's also pretty depressing to know that the web overall is spiralling down the drain and getting heavier slower every year[2]. What a shit show.

[1] [https://wildlyinaccurate.com/introducing-a-faster-bbc- news-f...](https://wildlyinaccurate.com/introducing-a-faster-bbc-news-front- page/)

[2] [https://speedcurve.com/blog/web-performance-page- bloat/](https://speedcurve.com/blog/web-performance-page-bloat/)

</comment><comment><USER31> If people actually cared, websites would be lighter. But they don't.

Yes, this community here does care, much like the experienced woodworker who nods approvingly when he sees <some old-fashioned, difficult, and slightly more elegant way to do something... I really have no idea about woodworking>.

Even in cases where people might agree that lighter pages are preferable, it's just not a priority.

I know that might appear wrongheaded. But I assure you there are dozens of things you do every day that would make a subject matter expert's hairs fall out: that's not how you're supposed to brush your teeth ... you have to wait for the engine to cool before measuring oil ...

...and, closer to home: websites should be accessible to people with impaired vision, among other things. This rant, however, scores rather low. It might seem trivial, but not adding an alt description to explain the image joke can make people feel excluded.

<comment><USER4> _But I assure you there are dozens of things you do every day that would make a subject matter expert 's hairs fall out: that's not how you're supposed to brush your teeth ... you have to wait for the engine to cool before measuring oil ..._

I don't even have 10,000 visitors each day watching me measure the oil in my car or brush my teeth. Neither are they /all/ paying extra in electricity and battery life and wasted time watching me do it badly.

What in my everyday life do I do so badly that is also an externalised cost on thousands to millions of other people, which I profit a lot more by doing badly?

<comment><USER31> Yeah... that's kind of my point: your indignation just seems a little excessive, considering data charges do not in reality range in the top 100 problems people have.

If you really can't fathom why this doesn't get a Special Prosecutor: Remember that every year, tens of thousands die in the US alone because their doctor's handwriting was so bad they got the wrong medicine! Ask your pharmacist what they think of people diddling their life away minifying CSS while this atrocity continues unabated!

</comment></comment></comment><comment><USER32> Dare I say there's a mini-movement starting? :D [https://www.jasonhanley.com/blog/2018/09/making-websites- eff...](https://www.jasonhanley.com/blog/2018/09/making-websites-efficient- again/)

Here's hoping...

</comment><comment><USER33> If Google factored page weight into ranking and it would start to move things in the right direction.

</comment><comment><USER34> I'm going to take this opportunity to talk again about the new Gmail and how horribly bloated it is... Scrolling skips frames all the time. And now you're forced in the new version, you can't 'go back' anymore...

</comment><comment><USER35> Does adblock + custom element filtering not help against such sites? If every additional feature that takes up more computing resources provides a slightly higher chance to retain the average user and thus make more advertising revenue, I don't see why large sites would _not_ riddle their sites with such features.

Of course, it's sad that happens; but I think adblock sufficiently solves this.

As a side-note, I recently installed DNS66 on my android device and the internet is _much_ faster. Using the mainstream web without adblock seems to be difficult these days.

</comment><comment><USER36> I for one absolutely agree with you that the web has gotten too bloated, especially news websites, and I salute your initiative for "debloating" your blog. This is a path that more of us should follow.

I think Google's AMP project is a step in the right direction, but it seems to me that it's not adopted enough.

<comment><USER37> Curious as to why you think AMP is a step to the right direction.

<comment><USER19> Because the pages load fast and are not bloated, which is the point of this article.

Unfortunately Google has bound it to other questionable practices like hosting on their domain, but it's still a step on the right direction. We need something like that plus a way to cache it on the edge servers in a portable fashion so that any CDN like Cloudflare could pick them up.

<comment><USER38> AMP is not bound to hosting on Google, Bing now has an AMP cache as well: [https://blogs.bing.com/Webmaster- Blog/September-2018/Introdu...](https://blogs.bing.com/Webmaster- Blog/September-2018/Introducing-Bing-AMP-viewer-and-Bing-AMP-cache)

And since you mention Cloudflare, I searched a bit and found [https://www.amp.cloudflare.com/](https://www.amp.cloudflare.com/)

There are problems with AMP, but Google exclusivity is not one of those problems.

</comment></comment></comment></comment><comment><USER39> @fabien thank you so much for this. I was half-expecting one of your usual dissection of the architecture, but I dont want anythibg coming between you and the release of your Doom book, which I plan on buying at least 2 copies.

</comment><comment><USER40> In my experience outline.com does a bang up job of getting all that clutter out. I am not in any way affiliated with them and don't even know how they monetize but I hope they stick around for as long as possible.

</comment><comment><USER41> Kudos

ps: adding to the heartbreaking side of the web, when you use google cache in text-only, you see how often there was nothing to read (almost)

</comment><comment><USER42> I love the initiative and the execution. Nice job! I feel like I'm becoming a bigger fan of brutalist web design all the time. :)

</comment><comment><USER43> I applaud you for doing this for your blog; everyone should at least do their best to slenderize their web properties. Kudos to you!

</comment><comment><USER44> What about the web browser itself?

AFAIK chrome and other modern browsers use resource-consuming features like preconnect.</comment>


Microsoft Admits Windows Vista Mistakes, Criticizes Apple Ads - <AUTHOR> http://www.informationweek.com/news/windows/operatingsystems/showArticle.jhtml?articleID=208803153&pgno=1&queryText=&isPrev= <comment><USER2> If it took them a year to admit it, how long will it take to fix it? Rather than a marketing push, how about an engineering push?

<comment><USER3> "will work to reverse the widely held belief, informed by early troubles upon the operating system's launch, that Vista isn't compatible with many applications and devices."

Agreed -- when I read this line, I was wondering whether it would be through PR or action. It actually needs both, but without the action part, the PR won't do much good.

</comment></comment><comment><AUTHOR> I notice that while they "criticize Apple ads," they don't actually, you know, dispute the content of those Apple ads.</comment>


I'm Done with Twitter - <AUTHOR> http://www.zdziarski.com/blog/?p=4670

<comment><USER2> don't know if I really want to know the drama, but what did Zdziarski do to attract these threats?

</comment><comment><USER3> Wtf was the "checking your browser" message?

<comment><USER4> Cloudflare's way of blocking malicious clients.

</comment></comment><comment><USER5> I'm surprised someone has time to play with kids like this much less blog about it. Wish I had that much time.</comment>


Show HN: Cloud Based Password Vault - <AUTHOR>

Just wanted to show off my latest creation called TitanPass (www.titanpass.com).  It's free and allows you to securely store and access all of your website login credentials in one place.
Some cool features:
1. One click website logins similar to 1Password using a bookmarklet. 2. Works on any device or O/S. 3. Simple and clean administration interface. 4. A paid ability for companies to manage multiple users and their access to different websites.
Please try it out and let me know what you think.  Would love to get some feedback and feature ideas. <comment><USER2> This would be much more interesting if I can install my own copy somewhere. I have 0 interest in a password storage system when I don't have full control of who gets access

</comment><comment><AUTHOR> Cool, thanks for the feedback. TitanPass is extremely secure and only you have access to your data. I made it cloud based because it was a requirement to have a highly centralized vault. The whole application is made in PHP so I won't be able to make a decentralized native app from it. Hope you still get a chance to try it out and again, thanks so much for your feedback.

<comment><USER2> I did actually mean install it on a server. I'm looking for something to provide central secure text storage for sharing secure passwords, notes etc between distributed staff</comment></comment>


Hacker News reader for iPhone (new native app) - <AUTHOR> http://michaelgrinich.com/hackernews/

<comment><USER2> I don't know about this; it doesn't appear to support authentication, or allow me to upvote/downvote (I get that it probably _can't_ ). My only gripe with using HN in Mobile Safari is that sometimes when I go to upvote/downvote I press the wrong one (my thumb lacks precision). This doesn't solve that problem for me, so I can't really see myself spending $2 for increased padding.

<comment><AUTHOR> Login, voting, and commenting was planned from the start and is coming within the next couple weeks. (ie: after my exams) Most of it is already built-out and just needs some polish.

Here's what it looks like now: <https://dl.dropbox.com/u/4595/hn-vote.png>

<comment><USER3> That's what I'm waiting for before buying a hacker news app.

Suggestion: For UI consistency, I would put the upvote for stories on the left of the title, in the same spot it is for comment upvotes. It might just be a personal taste thing, but I could see myself downvoting something on accident, by pressing the button where the submission upvote usually goes. I like that the up/downvote buttons are on opposite sides of the comment. It should keep fat fingers from miss-voting.

</comment></comment></comment><comment><USER4> Thanks, great job. I often load up the icombinator.net site when lying around the house, but it crashes frequently. One thing I do like about that site is the instapaper link that quickly lets me save a bunch of articles for later. It'd be a nice addition to your app.

Are there other HN readers I should be aware of? Anything that makes it easy to browse comment threads on a small screen without a lot of zooming and panning is great.

<comment><AUTHOR> Support for Instapaper is something I'm hearing a lot. It's definitely on the list, and something I'd like myself.

<comment><USER5> Nice job. What are using to parse the source HTML?

I like how you got the initial version out there. No commenting, etc. but the start of a decent HN client. Comments are now easy to read (though I would round the borders just a little for a less sharp look)

On my scope creep list, I would like a landscape orientation with lock (might be private API though there is a news reader called News Feed Elite that does it). And a way to bookmark/"watch" certain comments.

<comment><USER6> I would doubt that's a private API if the Kindle app is utilizing it(a little lock icon appears in the bottom right corner.)

</comment></comment></comment></comment><comment><USER7> Please add a feature to Read it Later via Instapaper, very key for me (just bought the app).

<comment><USER8> Definitely. That's one of my favorite features of <http://www.icombinator.net/>.

<comment><USER6> You'll pardon me if I'm noticing the coincidence between the current down status of icombinator and this submission, I wonder if it's the same developer behind both?

<comment><AUTHOR> Nope. Unrelated.

</comment></comment></comment></comment><comment><USER9> Sorry for the slightly off topic, but I can't watch the video for this app due to the following. Its probably an issue with Vimeo but I figured I'd just post it here.

My flash debug player through this off for the video player, seems that vimeo is missing a crossdomain.xml on their assets server? Or I have a finicky flash player.

      SecurityError: Error #2123: Security sandbox violation: Loader.content: http://bitcast.vimeo.com/vimeo/swf/moogaloop_np.swf?clip%5Fid=8131906&server=vimeo%2Ecom&show%5Ftitle=0&show%5Fbyline=0&show%5Fportrait=1&color=00adef&fullscreen=1&autoplay=1&embed%5Flocation=http%253A%252F%252Fmichaelgrinich%2Ecom%252Fhackernews%252F&moogaloop%5Ftype=moogaloop cannot access http://assets.vimeo.com/portraits/defaults/d.75.jpg. No policy files granted access.
    	at flash.display::Loader/get content()
    	at com.as3.moogaloop4::ClipInfo/onPortraitComplete()
    	at flash.events::EventDispatcher/dispatchEventFunction()
    	at flash.events::EventDispatcher/dispatchEvent()
    	at com.as3.classes.loader::MassLoader/onComplete()
    	at com.as3.classes.loader::MassLoader/onFileComplete()
    	at flash.events::EventDispatcher/dispatchEventFunction()
    	at flash.events::EventDispatcher/dispatchEvent()
    	at com.as3.classes.loader.items::ImageItem/onComplete()

<comment><AUTHOR> Hmm. I'll check it out. What's your browser/os?

</comment></comment><comment><USER10> Could you do something like Readability on the article text? One of the most painful things about reading HN on the iPhone is waiting for the stuff around the article to load. Even having an option to only load images on demand would be a good start.

<http://lab.arc90.com/experiments/readability/>

<comment><USER11> One way to achieve almost the same effect is through Google's mobile reformatting thingy:

<http://www.google.com/gwt/x?u=news.ycombinator.com>

Fast, simple and ugly as hell...

<comment><USER12> Whoa, my eyes are bleeding, but surfing just got 10x faster.

</comment></comment></comment><comment><USER13> You sir, win my money.

I'm willing to invest $2 to see where this could go.

</comment><comment><USER14> Awesome work. Well worth £1.19.

</comment><comment><USER15> I pretty ignorant when it comes to mobile apps, so please excuse me for asking, why is developing another interface for web-site X such a common phenomena? It seems redundant and unnecessary to create this extra interface and call it an application when a browser would do just fine.

<comment><USER16> I don't have a smartphone, so this is a guess. I think that people on mobile devices might find some aspects of the normal interface of a site hard to use on their device, such as accidentally pressing upvote when you meant downvote because they are so close. If there is a mobile version of the site on the web, this can be solved, but usually, the makers of the site don't want to bother making another version. Therefore, it's up to the users of the site to write an app that essentially translates the normal site into the app writer's idea of a mobile version. I suppose this could also be implemented as a website that acts as a proxy for the original site and changes the page before serving it, instead of an app.

</comment></comment><comment><USER17> I use the one that is already in the app store, and has been for weeks. Made by someone in the YC community.

Otherwise, looks nice.

<comment><USER18> grinich is actually a pretty well-regarded member of the HN community:

<http://news.ycombinator.com/user?id=grinich>

</comment></comment><comment><USER19> Thanks for this. I really need to have auth/voting though. Will upgrade be free for that ? (as if so, I should buy it to support it).

<comment><AUTHOR> Yes, it will be a free upgrade.

</comment></comment><comment><USER20> _Another_ HN reader? The market seems a bit overcrowded for how many people there are browsing the site.

<comment><USER21> Also the website in safari works pretty well :/

<comment><USER22> Until you try to open a comment thread and catch the next article down, or heaven help you try to poke the up/down arrows.

Still, most of that could be handled with just a little white space between articles on the front page.

<comment><USER21> I'm pretty used to browsing websites on the iphone. Zoom works fine for little buttons. It's pretty usable IMHO

</comment></comment></comment></comment><comment><USER23> Paid ? Seriously.

</comment><comment><USER24> Great, another glorified RSS reader for $2

<comment><USER25> Behold the power of an open market (assuming Apple is okay with it) where you- too can create an app with basic functionality and charge money for it. I have no issue with these types of apps as I know many people who will pay for simple, effective apps.

</comment></comment><comment><USER26> Is this the App that spammed me on Twitter because I mentioned Hacker News? No thanks!</comment>


Show HN: Just finished my portfolio. - <AUTHOR>

Link: TrevorTwells.com<p>Any feedback would be appreciated, thanks! <comment><USER2> Hi Trevor, its a little plain for me, the project page is good but adding a little colour and a few fonts will make it stand out more</comment>