Show HN: This page will disappear in 10,000 views - <AUTHOR> http://www.blinklink.me/b/4XIxfoeF4C0 <comment><USER2> Kinda feel like a jerk on this one. Wasn't really expecting to be able to nuke it so easily.

        ab -c 30 -n 3000 http://www.blinklink.me/b/4XIxfoeF4C0

        Concurrency Level:      30
        Time taken for tests:   93.802 seconds
        Complete requests:      3000
        Failed requests:        2137
         (Connect: 0, Receive: 0, Length: 2137, Exceptions: 0)
        Write errors:           0
        Requests per second:    31.98 [#/sec] (mean)
        Time per request:       938.024 [ms] (mean)
        Time per request:       31.267 [ms] (mean, across all     concurrent requests)
        Transfer rate:          182.47 [Kbytes/sec] received

        Connection Times (ms)
                      min  mean[+/-sd] median   max
        Connect:      116  165 165.9    122    1276
        Processing:   137  771 624.6    625    6827
        Waiting:      132  733 595.7    601    6823
        Total:        254  936 644.7    789    7062

Perhaps should have "view" throttling per IP. Quite a few mechanisms could have solved my abuse.

<comment><USER3> What is ab?

<comment><USER4> Don't use it for actual benchmarking though, it has lots of known problems. Use something like: [https://github.com/wg/wrk](https://github.com/wg/wrk)

<comment><USER5> What sort of issues does ab have?

<comment><USER4> Well the best thing would be to try it yourself. I have found:

       * ab has more results variation between runs
       * ab will almost always report lower performance than wrk
       * If you have two implementations being benchmarked, A and B and B is always faster than A. wrk will report a greater degree of performance separation between A and B.

These results are less noticeable the lower performance the site being benchmarked is.

<comment><USER6> ab takes more CPU time than a decent web server too.

</comment></comment></comment></comment></comment></comment><comment><USER7> I'm not sure if the submitter created BlinkLink, but I hope the author had fun making it. It's a neat idea, and it exploits human psychology in clever ways. I like how the reward for tweeting increases as the number of views remaining goes down. Also, people are driven to share the link with their friends _immediately_ since they know views remaining are scarce.

That said, it's pretty easy to mirror content. In case the link is dead, [http://i.imgur.com/KGo7oRH.jpg](http://i.imgur.com/KGo7oRH.jpg) is what was on the page originally.

Oh, and I found a UI annoyance. On the front page ([http://www.blinklink.me/](http://www.blinklink.me/)), the blue "Make a BlinkLink" button at the top that says is just a link to blinklink.me. The bottom button (which is a less-noticeable white) actually posts the form. You should probably hide the top button on the front page.

<comment><USER8> I find it very interesting how the fact that making the rules of the game "obvious" changes the way people approach. If you think about it, almost all content on the internet follows this rule: share-or-die.

But here, after slapping the die part on the face, people are forcing themselves to post the link on twitter. Very cool!

<comment><USER9> I would hardly describe requiring people to spam as cool. More like fucking annoying. Also you have no idea what the content will be until you have propagated the spam, it could just be penis pills.

<comment><USER10> It would be like

"Before we allow you in our restaurant or show you a menu, you must give us a positive review on yelp."

</comment></comment></comment></comment><comment><USER11> Kind of like a Zynga game. At a certain point, you can't continue unless you spam your friends.

</comment><comment><USER12> This is like Snapchat for the web, except it's too easy to take a screenshot of the content which means there's not much of a point to the view limit.

You could make it difficult perhaps by requiring the user follow a path with their mouse, otherwise white noise appears. That way they cannot actually move their cursor to take a screenshot. Maybe do something else to occupy one of their other hands, such as pressing a series of keys. Of course someone else could be standing there ready to push the "print screen" button or use a camera, like you can with Snapchat. Don't forget a time limit.

<comment><USER13> You could improve it significantly by implementing something similar to this: [http://www.donothingfor2minutes.com/](http://www.donothingfor2minutes.com/)

Any mouse movement or keypresses would blank the page and you'd have to reload it to see the contents again. Of course, there are probably ways to subvert this, but it would stop most people.

<comment><USER14> I'm sure there are Windows and Mac equivalents, but Ubuntu has a timed screenshot option. It would be fairly easy to just set the timer, go the the website, and wait. But I agree, most people probably won't care enough or think of it.

<comment><USER15> Even if there isn't one currently, windows exposes an interface to the screen through gdi+ which can be used in a C++ program, for example.

</comment></comment></comment></comment><comment><USER16> A variant of this, involving payment, could be the future of journalism.

<comment><USER12> This content disappears after 1,000 views unless you pay $5.

<comment><USER17> But if you have seen it, what's the incentive for paying money after the fact? If you haven't seen it then it's just the same as a paywall.

<comment><USER18> Because you want other people to read it.

<comment><USER19> select, copy, paste, share, the end.

<comment><USER20> select, copy, paste, share (copyright violation), the end.

It's kind of not OK to distribute other people's work when they don't want you to.

<comment><USER21> Your users will still do it, and you won't be able to stop them.

<comment><USER20> Right. I'm just saying it's not a strategy to advocate.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> [http://i.imgur.com/Tz8K46w.png](http://i.imgur.com/Tz8K46w.png)

</comment><comment><USER23> I disagree with other posters, I think this is a great concept. It would be fantastic for brands to share promotional offers and voucher codes as people would have to tweet to revive access to the code therefore spreading the promo further.

<comment><USER24> How is this a good thing? You want users to visit a promo page, where they're forced to retweet the content before getting access? This sounds awfully familiar to those sites that ask you to share a referral link with 10 friends, or complete a survey before receiving a free gift that doesn't exist. Also reminds me of the days of browsing _warez_ online. Click these three links to vote for us on Top 100 sites, then you'll get access to the file. They're just taking people hostage and encouraging spam on social networks.

<comment> k-mcgrady It could be useful if done right.

>> "before receiving a free gift that doesn't exist"

Presumably if this was done by someone like Coca-Cola you would receive something for sharing the page. The spam problem could be improved by asking them to tweet their own content + link rather than a predefined message. e.g. Tweet your favourite thing about [brand] and get [reward]. And the tweet would be [your message] + link.

These techniques could be used in interesting ways - most people just don't bother.

>> "You want users to visit a promo page, where they're forced to retweet the content before getting access?"

Also if the user is getting something of value I don't see the problem with asking them to do something to get it. They aren't being forced, they are being given a choice. Do this thing and get rewarded. Don't do it and life goes on.

<comment><USER24> You're basically buying tweets at that point, and I'm completely against the concept. I go the exact opposite route with my community and promise users they'll never have to jump through a single hoop. In return, I get a lot of respect and loyal members. People know when you're trying to use them. It leaves a bad taste in their mouth, and they don't forget. A good reputation is better than a few thousand _likes_ or _tweets_.

<comment><USER25> Feels better. Not sure it's worth more.

</comment></comment></comment></comment></comment><comment><USER26> What a great innovation that now content disappears...unless you tweet...

</comment><comment><USER27> Why does the view count change wildly up and down as I refresh?

Otherwise, love it. Needs a favicon. Get ready for viral growth.

<comment><USER24> It's an interesting concept, However, I'm struggling to figure out a situation where it would be useful. There might be something here, just not in it's current state, and for that reason, I don't see it going viral anytime soon.

</comment></comment><comment><USER28> gotcha! [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.blinklink.me/b/4XIxfoeF4C0)

</comment><comment><USER29> This could become a bit more useful if you could add clickable links in the message. Or other files (like PDF) instead of an image. Or if it worked in the opposite direction - "tweet to decrease the number of available views". Why? To create some kind of scarcity, if the content is really valuable.

</comment><comment><USER30> Snapchat for URLs

</comment><comment><USER31> Seeing the hits/sec on the count down is pretty impressive

<comment><USER32> Yeah I was watching it lose about 30 every time I refreshed it. This is an interesting concept, for sure.

</comment></comment><comment><USER33> I wonder how adding a link to who "sponsored" the content your viewing (if available) would change things. It's interesting how a tweets are now currency.

</comment><comment><USER34> Kind of like [http://securesha.re](http://securesha.re) but less security, more social.

</comment><comment><USER35> Reminds me of this [http://www.savetoby.com/](http://www.savetoby.com/)

</comment><comment><USER36> please forgive my humble input, but wtf?

<comment><USER37> I may be bad at reading facial expressions and may be assuming the best scenario (...) but that person seems a bit sad to me. Maybe to feel connected to others?

<comment><USER38> That's a contrived expression, and not one of genuine sadness; he's pulling a face, not expressing an emotion. You can see on his GitHub profile he's got a similar facial expression, although a little less pronounced. [0] It's kinda like his duck face!

I think this has just been created for giggles, not for any particular reason. Admittedly, it piqued my curiosity!

[0] [https://github.com/clayallsopp](https://github.com/clayallsopp)

</comment></comment></comment><comment><USER39> Just saw it at <1000..

[http://imgur.com/6bpnSQl](http://imgur.com/6bpnSQl)

</comment><comment><USER40> It'd be great to publicize a dataset of hit-times from each ip and from twitter accounts.

</comment><comment><USER41> Am I the only one that finds this 'feature' utterly pointless?

</comment><comment><USER42> zut, we could still make it appear back with a tweet. I hoped to make it disappear for good.

But the conclusion is that it is easier to click reload twenty times than to tweet a single message.

</comment><comment><USER43> Thanks for the combined efforts of HNers to make it disappear :-)

</comment><comment><USER5> And it's gone :)

<comment><USER44> Meh, seems like it can be revived with another tweet.

</comment></comment><comment><USER45> Anyone read the barcode yet?

</comment><comment><USER46> Is It true?

</comment><comment><USER47> It is done!

</comment><comment><USER48> 哈哈哈

</comment><comment><USER49> creative idea</comment>


Scaleway C2 Dedicated Intel (€11.99/quad X64/8GB/50GB SSD/300Mbits Unmetered) - <AUTHOR> https://www.scaleway.com/pricing/ <comment><USER2> I am curious what type of ARM processors they use.</comment>


70% of Value in Tech Is Driven by Network Effects - <AUTHOR> https://medium.com/@nfx/70-of-value-in-tech-is-driven-by-network-effects-8c4788528e35 <comment><USER2> Is it fair to say that 70% of the value is driven by such effects, or more like 70% of the companies have such elements in their product offer.</comment>


Ask HN: Good books on big data transfers - <AUTHOR> Starting a new job soon where the primary project involves transferring big blobs and a lot of tiny ones across the world as fast as possible. Would love to read some books and catch up on the nuances. Are there any books that HN can recommend me? <comment><USER2> I don't know of any books, but check out [http://moo.nac.uci.edu/~hjm/HOWTO_move_data.html](http://moo.nac.uci.edu/~hjm/HOWTO_move_data.html)

<comment><AUTHOR> Thanks</comment></comment>


Case Study: How To Triple Your Startup's Organic Traffic with Zero Link Building - <AUTHOR> http://impossiblehq.com/spothero-case-study

<comment><AUTHOR> Author here: Would love to answer any questions you have about our process or strategy here.</comment>


Core i7-4770K: Haswell's Performance, Previewed - <AUTHOR> http://www.tomshardware.com/reviews/core-i7-4770k-haswell-performance,3461.html <comment><USER2> ~10% general computing improvement is great, but I wasn't impressed by the progress made with Intel's new GT2 graphics architecture.

An incremental improvement to HD 4000 doesn't replace mid-range mobile graphics cards at all.

Considering that GT3 will only be available mostly in the quad-core configuration, this means mid-range laptops will still require power hungry graphics cards to run games reasonably.

<comment><USER3> This was clearly not a very well functioning sample system. It's no surprise that the GPU results look unimpressive if memory bandwidth drops by 20%. But also you can't expect miracles -- HD4600 appears to only have a 25% increase in the silicon budget over HD4000.

(I am a bit bummed that the earlier rumors of GT3 being mobile only appear to really be true.)</comment></comment>


Yomu.eu | feed consumption made easy - <AUTHOR> http://yomu.eu/app

<comment><AUTHOR> As per our recent submission, we've been working on a Google Reader alternative. It's designed to be a lightweight high performance system that doesn't clutter your screen with useless garbage.

There are a number of known bugs, and we'll be adding in a number of new features over the next few days - but we'd love to hear your feedback. You can create an account in just a few seconds at the above URL.

Edit: The overview page is currently blank, this is a known issue.</comment>


Why Privacy Matters Even if You Have 'Nothing to Hide' (2011) - <AUTHOR> http://chronicle.com/article/Why-Privacy-Matters-Even-if/127461

<comment><USER2> If I've got nothing to hide, then they have nothing to find and thus no reason to look.</comment>


Ask HN: How do I contribute to open source projects in my part time? - <AUTHOR>

I've written a ton of code for my employers, but I'd like to contribute to some open source projects like Angular or JQuery UI. I'm not sure where to start. <comment><USER2> Sit on their mailing lists, answer questions. See a bug? Write a patch for it. Pretty good gateway path in, and you'll build personal relationships.

</comment><comment><USER3> This is definitely one of the toughest parts of leisure programming. The goal is to always have something interesting and fulfilling for yourself to hack on in your free time. Personally, I find these things by either coming up with a feasible idea of a new project or finding an existing accessible (and smallish) project through reddit or HN. I've also found projects as dependencies for other projects that were in need of maintenance. Do what works for you, and try to keep your ear to the ground. And the last bit of advice is to write everything down, even if you think it's a bad idea, because you will NOT remember everything. Good luck!

</comment><comment><USER4> Here's the contributing guide for angular:

[https://github.com/angular/angular.js/blob/master/CONTRIBUTI...](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md)

and the discussion group: [https://groups.google.com/forum/#!forum/angular](https://groups.google.com/forum/#!forum/angular)</comment>


Something about IR Optimization - <AUTHOR> https://brrt-to-the-future.blogspot.com/2019/03/something-about-ir-optimization.html <comment><USER2> Every JIT that starts out by generating code directly from expression trees or bytecode eventually grows an ad-hoc optimizer and IR. I think its probably better to avoid all the dead ends and lower directly to an SSA IR. You can then implement tried-and-true optimizations from compiler textbooks, and concerns such as "optimizing across expression boundaries" or "my expression tree is actually a DAG" are defined away completely.

<comment><USER3> Hi! Author here. Honest question, because I don't know all the facts:

\- Given that in this IR, every value has a single definition, and every use must reference that value, I'd argue that this is already SSA form.

\- In fact, the concept of 'variable' is mostly missing, there's only a repeated reference to the same value. I think that simplifies things a lot, but maybe too much.

\- Optimizing across expression boundaries is in fact very much the point, if we can keep the semantics the same.

Thanks for your interest!

<comment><USER4> Well... one thing that's usually done as part of converting something to SSA form is computing the dominator tree. If you did that, you could relatively cheaply solve this:

> But it also means that the property we're interested in - a value is > computed before it is used in, in all possible code flow paths - isn't > really expressible by the IR.

...since you could verify that the blocks a value is used in are dominated by the block it's computed in.

</comment></comment></comment><comment><USER5> Just a note that this IR sounds a lot like the Testarossa Trees IR: [https://github.com/eclipse/omr/blob/master/doc/compiler/il/I...](https://github.com/eclipse/omr/blob/master/doc/compiler/il/IntroToTrees.md)

In that IR the rule is that sharing cannot pass basic-block boundaries because of the exact kind of bug you indicate.

<comment><USER3> Thank you for that link! That does look like it is a very similar IR structure indeed. Very interesting.

</comment></comment><comment><USER6> > For instance, if two branches of a conditional expression both refer to the > same value (represented by name $foo) then the code generator will only emit > code to compute its value when it encounters the first reference. When the > code generator encounters $foo for the second time in the other branch, no > code will be emitted.

Isn't that what phi nodes were designed to fix?

<comment><USER7> I don't think so - phi nodes solve the "problem" of expressing a value in SSA one-definition form, when that value is control-flow dependent. But this is really an artifact of SSA form.

This seems like a much weirder problem, in which the optimizer is unaware of control flow and so will allow a value to reference an instruction that does not dominate it.

LLVM's IR verifier ensures that instructions dominate all of their uses, which simply means that all users of an instruction must provably execute after that instruction. This verification step seems to be what's missing.

<comment><USER3> Hi! Author here. I think you hit the nail on the head here. The optimizer _is_ unaware of the control flow, because the control flow is _added_ by the code generator.(And with it, the distinction between computing a value and referencing it). It's a control-flow-less IR, sort of.</comment></comment></comment>


Ask HN: How to get files off old Mac flopppies - <AUTHOR> I have a stack of unhelpfully unlabeled Mac floppies from circa 2000, some of which I believe contain writing in Microsoft Word. Short of buying an old Mac and Word from that era, which I've considered, do you have ideas about how to extract these files? IIRC Word files of that era did not seem to be openable with a text editor. <comment><USER2> [http://cowlark.com/fluxengine/index.html](http://cowlark.com/fluxengine/index.html)

</comment><comment><USER3> Older Mac files might not have extensions... If you can read the files of the disk, rename the files with the .doc extension. Once done you probably have a good chance reading them in newer Word or LibeOffice programs.

If you can;t read the disks - you might need to get a Mac and a floppy drive - 1.4mb isnt too hard, you could probably get a USB floppy to read those; when you are talking about 800k or 400k disks you will have to look for an older mac to read the disks as the drive mechs/logic are a bit different.

If the computer is that old getting data transferred would probably be easiest with a modem-modem connection, or a null-modem cable.</comment>


Show HN: Android homescreen with HTML5 widgets - <AUTHOR> http://terrainhome.com

<comment><USER2> Where's the SDK for this?

<comment><USER3> There is a link to sign up for the developer preview at the very bottom of the page.</comment></comment>


Uniformity vs. Individuality in Mac UI Design - <AUTHOR> http://daringfireball.net/2011/01/uniformity_vs_individuality_in_mac_ui_design <comment><USER2> This feels like Gruber being Gruber.

For me personally, I love Apple hardware, love the iPhone and like the iPad. I am just not a fan of OSX. I was, for about a five year period, but have gone back to Linux this past year in Ubuntu and have not looked back.

I bought my first mac in 2003/2004, Power Book G4. Tolerated the slowness that the UI had b/c it gave me something I didn't have in any other OS: A *nix base w/ a great UI.

Over time I feel that OSX's lead in this eroded as Ubuntu kept getting better and better and OSX stagnated. Now I feel I can have a rock solid Linux (Debian based Ubuntu) with a really good UI that just works without weird restrictions. OSX isn't the only player in town anymore in that front and since I can install it on cheaper hardware, that is awesome.

</comment><comment><USER3> A big difference between iOS and OS X is that desktop applications have more than 20 years of UI research and convention behind them, while touch interfaces have less than half (maybe even less than a quarter) that. There's thus a lot more room for experimentation in touch interfaces since there isn't as large a body of best practices. Apps that try to go their own way UI-wise on OS X are more than likely going to end up subtly violating the norms of OS X application behavior that standard Cocoa apps all follow implicitly, much like Qt apps on OS X do. Indeed, Gruber's example of Twitter 2 already misbehaves in a number of head-scratching ways: among the ones I've noticed, hitting cmd-W from the tweet list hides the entire app rather than closing the tweet window, and the "compose tweet" box floats over everything even when the app is in the background. I think the tolerance for UI annoyances like these is a lot lower, and apps that try to go their own way are going to expose them a lot more than apps that stick to the tried and tested standard widgets.

<comment><USER4> Good point. One of the main reasons against non-standard UI design is that there is a _huge_ amount of behaviour attached to the standard UI and once you start implementing your own interface elements, you'll almost never get everything right. Keyboard shortcuts, accessibility, system hooks for other apps, etc.

</comment></comment><comment><USER5> For better or worse, I think he is right. Non-uniformity has been the norm in Apple's apps for a while, Garageband, Aperture, every iTunes release, among others. I believe the majority of third party mac developers used to be pre OS X developers, and because of that they had and incredible amount of respect for the HIG, but now, the (problematic) apps in the Mac App Store are coming from iOS developers, who didn't grow up with the guidelines. A different UI has given them an edge in the iOS App Store, and the are gonna try the same on the mac.

<comment><USER6> Maybe. But if the HIG is not that important anymore, I think that should also imply that Apple should allow for other UI toolkits in its stores, such as Qt.

<comment><USER7> There's a difference between "ugly attempt at matching the standard controls" and "extending nicely into a different style of UI".

<comment><USER6> The average user would not be able to tell the difference between a well- adapting Qt application and a Cocoa application. We have a Qt application for searching treebanks, and when showing it to another Mac user, he replied "nice, you wrote it with Cocoa?".

Twitter's (or the App Store's) deviation from the Mac look and feel, on the other hand is very noticeable. And I am not sure it is proven that we are talking about "extending nicely into a different style of UI". The Twitter UI is plainly confusing (where do you drag this window?) and having the backward/forward buttons next to the window controls is questionable at the very least.

<comment><USER8> Did you just show it to the Mac user, or did you let him actually sit down and use it? Qt does a great job of mimicking the look of Cocoa apps, but it doesn't always get the behavior right, and if you're going to behave differently, you ought to warn the user by looking different.

</comment></comment></comment></comment></comment><comment><USER9> "In Mac OS X, Apple began experimenting"

Just a little nitpick: Actually, it started already with OS 9. Who does't remember the ugly brushed metal changes to Quicktime Player 4 and Sherlock 2? Apparently Gruber :-)

</comment><comment><USER10> The question in the title remembered me of this quote:

"Good design is design that surprises, something that is unexpected but immediately comprehensible and pleasing."

Source: [http://info.psu.edu.sa/psu/cis/phalloran/Teaching_Learning/g...](http://info.psu.edu.sa/psu/cis/phalloran/Teaching_Learning/gooddesign.pdf)

</comment><comment><USER11> I think the cold truth is that in the OS X era, Apple's designers have been increasingly favoring eye candy over usability and consistency. OS X certainly looks better than just about any other OS I've seen, but other things like Fitt's Law and consistency have taken a back seat.

<comment><USER12> Do you have any examples of violations of Fitts law in OS X that weren't present in OS9?

<comment><USER11> Those small traffic light buttons come to mind. The traffic light buttons are tiny and extremely difficult to acquire targets. The resize handle is another. It's not only small, often times it's right near the dock at the bottom and ao whenever you try to resize a window you end up moving over the dock. This is exacerbated by the magnification effect on the dock of it's turned on.

</comment></comment></comment><comment><USER13> Consistency is still important, especially on the "truck" computers which are much more prone to damaging actions by novice users compared to iOS. Hell, messing with standard interface elements can even mess advanced users up. Opened up Logic or Sound space designer recently?

Maybe regular users _are_ getting more used to different looking widgets (eg. All the different kinds of custom buttons on websites) but I don't think the HIG should be binned just yet. It needs to be abstracted: specific UI concepts/patterns, rather than specific colors of dropdown menus etc. That said, universal, system level elements like window controls shouldn't be messed with IMO.

<comment><USER14> I really agree with this perspective. I think folks get too hung up on the actual appearance vs. the usability. Sometimes I don't like the look when apps recolor standard controls, but I don't find them less usable. Just don't change usability patterns like keyboard shortcuts or the ability for a window to be minimized to the dock.

</comment></comment><comment><USER15> The most striking thing for me between Tweetie and Twitter for Mac (Tweetie 2), other than the dark sidebar, was the use of Helvetica instead Lucida Grande. It's subtle, but I believe it's a big step toward making an app feel like it was made for OS X instead of iOS.

Reeder for Mac, another port of an iOS app, is another good example. It uses Helvetica and it uses slide animations that make me think that the Reeder window has moved a few hundred pixels to the left.

</comment><comment><USER16> I think maybe the OS X HIG is still in place, but it is migrating to the iOS HIG. We will increasingly see more and more apps falling over to the iOS "dark side" and culminating with the release of Lion.

Personally, while I loved my iPhone and think the iOS is a great thing on a small screen I'm not a big fan of the iPad. Let me re-phrase that, I'm not a big fan of the iPad's launcher. Anyway, Lion will be a big UI step, probably in the direction of iOS and away from OS X. That kind of makes me sad and worried about the future of Mac products. On the other hand, I'm very happily a Ubuntu and Android user and maybe they will pick up the torch and grow better and better.

</comment><comment><USER17> I don't think people should look at this as an all-or-nothing debate. I think there is an importance to following an HIG as a basic guideline and stray from it as it seems appropriate or for the sake of creativity. It's when it strays too far from it when things can become problematic.

Just like with traffic laws, not coming to a full stop at a stop sign is not equal to speeding down a highway going in the opposite direction of traffic.

Apple straying and introducing a metallic patten does not equal the extent of an Adobe Air application forcing me to hit an icon button to access preferences rather than through the common menu bar location. One is aesthetic while the other is functional. And basically, one irritates me way more than the other.

</comment><comment><USER18> That screenshot sums up my experience with Twitter nicely: A dozen random thoughts, truncated to fit a certain size, thus requiring investment to decipher, which at the end reveals somebody talking about something that's only really interesting to themselves, and actually makes you feel slightly embarrassed for them.

My assumption was that other people were using some form of magic tool that filtered out relevent stuff and presented it in a coherent form. Since this looks like a screenshot from the author's own system, it seems that even power-users are seeing the same useless garbage that I do.

Why would you install something like this on your computer?

<comment><USER19> On Twitter, you don't follow people who talk about things you're not interested in. It's that simple.

Now, obviously, nobody's 100% interesting all the time. So, yes, there is a "magic tool" to filter out uninteresting things: your brain. You see something that relies on context you're not privy to, you skip over it. It's that simple. You don't _read_ Twitter, you _scan_ it.

Everyone who criticizes Twitter seems to think that people use it to read boring things. No, I don't usually care what the people I'm following had for breakfast - except when Patton Oswalt describes his quick eats on a busy day [1]. Now, you might not find that funny. In which case, you stop following him, or you just furl your brow and keep skimming.

[1] <http://twitter.com/#!/pattonoswalt/status/23362445531684864>

<comment><USER18> Was that link an attempt to point out something good on Twitter, or to point out one of the tweets that you have to filter out to get use from it? It took a while to parse, then turned out to be, well, let's say I want my 5 seconds back.

Actually, can anybody here point to a single good Twitter message so that I can see what one looks like?

</comment></comment></comment><comment><USER20> I think that HIG and default UI libraries are great to give the default app a consistent and decent look and UX. It makes it possible for anyone to write an app that behaves and looks at a good enough level.

But, unique interfaces that stray away from these are just fine as long as it results in a better UI/UX. iOS apps have shown in a lot of cases that developers _that care_ can make something that are highly customized for the better (e.g. apps from TapBots (<http://tapbots.com/>) or TapTapTap (<http://taptaptap.com/)>)

</comment><comment><USER21> I must admit I'm not really surprised to see Gruber suddenly claim non-uniform application design is a good thing when everyone starts critizing Apple for 1. inconsistent UIs and 2. bad design. Also note how he completely focuses on the inconsistent UI-issue and completely ignores the part about bad design in the OSX App Store, probably hoping it will go by unnoticed.

Really though. Isn't it _always_ this way with Gruber? If Apple or OSX does something better or _different_ than the other platforms it's not only good, it's the standard. It's the only way(tm). End of story. Whoever disagrees be uneducated and unsophistitcated.

The second Apple strays away from that, his response is always "but this isn't important any more" or "this is a good thing, really". Really, Gruber?

I must admit I'm getting fed up with his appologyism. If there is still insight and actual content to be found in his blog-posts, he is making it very, very hard to find.

<comment><USER22> Wait, you can't claim that Gruber is never critical of Apple. For example, he was one of the first and most persistent critics of the iPhone App Store's submission guidelines until they were amended by Apple.

It's true that he rarely criticises Apple's design choices. But I don't think it's because of any sycophantic defence of Apple, but rather because his design aesthetic is very similar to that of the lead designers at Apple. Still, I wouldn't be surprised to see him do a piece soon on the sub-par design of the Mac App Store, because it _is_ sub-par (at least in some aspects).

<comment><USER23> Here's a few links to Gruber criticizing the poor state of the HIG, and Apple's design decisions:

<http://daringfireball.net/2007/07/hockenberry_hig>

<http://daringfireball.net/2004/10/brushed-metal>

[http://daringfireball.net/2003/05/much_ado_about_click- throu...](http://daringfireball.net/2003/05/much_ado_about_click-through)

<http://daringfireball.net/2006/08/highly_selective>

<http://daringfireball.net/2003/02/inconsistencies>

<http://daringfireball.net/2004/10/themes>

<http://daringfireball.net/2006/04/more_smart_cut_copy_paste>

<http://daringfireball.net/2003/02/when_in_rome>

<http://daringfireball.net/2004/10/does_brushed_metal_matter>

That Gruber rarely criticizes Apple's design decisions is simply false. Apple's inconsistency in UI design and application of the HIG is _a pet peeve_ of his, and it has been _for many years_.

<comment><USER24> That's like 9 articles in as many years. How many did he write in support of them? Not that there's anything wrong with it - just that I don't think I can count his writing about Apple as "objective criticism".

<comment><USER23> Articles I found mentioning HIG wherein Gruber praises Apple's design consistency: zero. Why don't you try finding some for yourself?

Like I said, this has been a pet peeve of his for years.

<comment><USER24> Hmm, was I misunderstood? I didn't mean to ask you how many articles he did supporting Apple's HIG consistency. I was just pointing out that that it's a small minority among the total articles he writes about supporting everything Apple does. At least that's my understanding. Like I said, I wouldn't really go to Gruber's blog for objective analysis, though he does make some good points. I used to enjoy his writing about Apple quite a bit a few years back. Now the blatant fanboism kinda turns me off. FWIW.

<comment><USER23> I've read Gruber since he began writing Daring Fireball, I don't think he's changed much at all. I don't see how he's turned from Apple _pundit_ to Apple _fanboy_ , a rather peculiar thing to happen to _anyone_ with time, really.

What has changed is that Apple's success has accelerated, exposing Apple to more customers, press and analysis. Gruber has _always_ covered these things, but with more of it there's more to cover, and with more clueless analysts claiming things about Apple, there's more of that to dispute and ridicule.

And let's just face it, he's usually _right_ about the significant things. That's not fanboyism, that's insight.

Besides, I don't think Gruber very often writes articles just to "support" anything (what would be the point?), usually he's trying to understand where Apple's motivations come from — _why_ they're doing what they're doing — which is the part where most other analysts are fumbling in the dark.

Sometimes he agrees with them, but really, a lot of the time he doesn't (that usually makes for more interesting articles as well). Just writing support for a decision or strategy makes for a really _boring_ read, what he usually does is explain the underlying reasons for it, whether he agrees with it or not.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> First time Gruber embeds images into a post?

</comment><comment><USER26> Well, all the OSX users should just Thank Steve that the XCode designer is no Visual Basic so at least you're limited to people with a significant amount of development savvy doing non-standard UI. Otherwise, you'd have the hodge-podge horror that's been visited upon Windows for the last decade and a half or so.

It'll get there, though, just wait! I'll chuckle when I see the first 200x200 OK/CANCEL buttons in AppStore screen shots :-)</comment>


Book that was so good that you bought everything published by author? - <AUTHOR> https://twitter.com/devonzuegel/status/1097189228075569153 <comment><USER2> David Weber, after read the first Honor book I have bought all in that series and a lot more.

Eric Flint, 1632 series- bought all the books in the series and some of the short stories.

Vince Flynn, America Assassin, all books till he died.

James P Hogan, all his books until he suffer from the mind worm.

Tom Clancy, all books until his divorce, then his work started to suffer.

</comment><comment><USER3> The Wasp Factory by Iain (M.) Banks

</comment><comment><USER4> The Flashman series by George MacDonald Fraser</comment>


Examining the core memory module inside a vintage IBM 1401 mainframe - <AUTHOR> http://www.righto.com/2015/08/examining-core-memory-module-inside.html <comment><USER2> The IBM 1401 was pretty exotic for it's time, but there was a more common product using toroid memory even earlier than the 1401.

Seeburg's line of jukeboxes from 1955 onward used this mysterious system called TORMAT, which essentially was a 160-bit toroid memory device (for a jukebox that held 160 selections). Bits were flipped on as you paid for choices and the loading arm seeked the next record by checking the bits in memory. This also had the positive side-effect of people selecting the same record not resulting in multiple plays, since you were flipping on a bit that was already flipped.

[https://www.flippers.com/Seeburg- tormat.html](https://www.flippers.com/Seeburg-tormat.html)

The TORMAT was used up until 1974, when it was replaced with silicon-based memory.

</comment><comment><USER3> The first system I worked on in the USAF had 512 bytes of core memory¹. But it only used 320 of them, as the system was hard-coded to 80-columns (for both punch-card and printer). Since it was fully duplex, it had 2 send and 2 receive buffers of 80 characters each. It would flip the role of the buffers as they became full or empty.

I once had to replace the core memory array when one bit went bad. By pure bad luck, it was in one of the first few columns where the end-of-message sequence was expected, and the bad ferrite meant the system got hung up waiting for an EOM that was never detected. Bad donut. No message. ;/

¹ [https://c1.staticflickr.com/1/40/109018526_8edb26b499_b.jpg](https://c1.staticflickr.com/1/40/109018526_8edb26b499_b.jpg)

</comment><comment><USER4> You could buy 16-word ROM, which copied bootstrap to core automagigally. But we had no money for such luxuries, and we had to program it manually from front panel switches almost everyday.

<comment><USER5> IIRC you could push a button and it would automatically read a card into locations 1 through 80 and start executing at location 1. First instruction had to be a set word mark (, i thing) because instructions were variable length and needed a word mark to denote the end. I also seem to remember that 4K meant 4,000 not 4096. Long time ago and we all danced a happy dance when the 1401 came in to replace our 407 accounting machine with its plugboards. Well not everyone. Some were afraid of the new machine and certain that the time was still not right.

<comment><USER6> Your description of the IBM 1401 startup sequence is absolutely right. I'll fill in some details since it's a strange process. There's no operating system at all: pressing the load button on the card reader causes one card to be read into memory and the first instruction executed. The first few cards in a program deck have special loader initialization code. As you say, the first instruction is "write two word marks", making the next two instructions executable. The next few instructions are more "write two word marks" instructions, until there enough word marks in place to run a few other instructions, which clear memory and load the next card.

The cards for the program to be executed have program code on the left half and loader code on the right half. That is, each card has code to move its program code into the right place in memory, add necessary word marks, and then load the next card. This code is running from the reader buffer (locations 1 through 80). The final card jumps to the location in memory to start execution.

TL;DR: Since the IBM 1401 doesn't have an operating system, when loading a program from cards, each card also contains the code to load itself into memory.

And yes, 4K of memory is 4000 characters, not 4096, because it's a decimal machine, not a binary machine.

<comment><USER7> What about timing? Did you have to hurry to input the second punchcard? Did the cores lose their bits overnight?

Also, what kind of data can you process with 4K? They say "accounting software" and "paysheets", was it actually quicker than writing paysheets manually?

<comment><USER4> These were just glorified card sorting machines. Data and code was on them cards -- 4K was just temporary registers, which was plenty. And cores did not lose their data too easily. Manual bootstrapping was needed mostly because of programming errors or you used the expensive memory area for something else.

Cards were quite handy, because they were reusable. You could construct a program just using old ones. In university I remember a special box for "100 CONTINUE"-cards.

</comment></comment></comment></comment></comment><comment><USER8> IBM later developed looms capable of weaving core memory planes automatically, and the price started to drop. Not every far. Around 1970, a megabyte of core memory cost about a million dollars.

<comment><USER6> If you're interested in the machines IBM used to weave cores, see: [http://ibm-1401.info/IBMCoreArraysIEEEMagnetics1969.pdf](http://ibm-1401.info/IBMCoreArraysIEEEMagnetics1969.pdf)

One interesting thing they did was to thread extra cores onto each wire so they could crush the bad cores and still have enough to continue. (They would test after wiring one direction, before wiring the second direction.)

</comment></comment><comment><USER9> I have one or two of those planes in a drawer somewhere. After all this time, the ferrite cores are cracking and half-round bits litter the bottom of the drawer.

<comment><USER10> You can buy the ferrite beads. Re-looming such a thing would be "fun".

<comment><USER11> Possibly more interesting would be to attempt to read the data still there - it is non-volatile, after all.

<comment><USER9> I'm guessing: 1's and 0's. Remember a plane was a bitslice through a word.

</comment></comment></comment></comment><comment><USER12> What I'd like to see is a "Show HN: I built a working core memory".

<comment><USER13> I've seen several DIY projects in the past that used core memory -> should be google-able.

<comment><USER14> a very recent one: [http://hackaday.com/2015/08/31/core-memory-for-the-hard- core](http://hackaday.com/2015/08/31/core-memory-for-the-hard-core)

<comment><USER7> It seems to be all copper. How come one wire doesn't conduct to all other wires?

<comment><USER15> It's magnet wire. It may appear to be all-copper, but it is in fact coated with an insulator. (It's often called enameled wire, but it really generally is a polymer coating)

</comment></comment></comment></comment></comment><comment><USER16> Neat...My dad was a customer engineer for IBM. He took me to work in the early 1970s, and one of the things he showed me was a memory cabinet that looked just like that.

</comment><comment><USER17> Since nobody's mentioned it yet: If you want a musical accompaniment to this piece, try Jóhann Jóhannsson's amazing "IBM 1401: A User's Manual" [http://ausersmanual.org/](http://ausersmanual.org/)

Listen to part 1 here: [https://www.youtube.com/watch?v=tBw_wSoVQrY](https://www.youtube.com/watch?v=tBw_wSoVQrY)

</comment><comment><USER18> The 1401 wasn't a mainframe. It was a smaller computer designed to replace unit-record systems and was, in fact, sometimes used as a mainframe peripheral.

The mainframe of the era was something in the 7000 or 700 series, I think.

<comment><USER6> Linguistic arguments are somewhat pointless, but IBM disagrees with you: [http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/mainfra...](http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/mainframe/) The IEEE also disagrees: [http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5406338](http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5406338)</comment></comment>


Ghost Emails: Hacking Gmail's UX to Hide the Sender - <AUTHOR> https://blog.cotten.io/ghost-emails-hacking-gmails-ux-to-hide-the-sender-46ef66a61eff <comment><AUTHOR> Note: this isn't the same set of bugs I previously reported; this one let's you blank out the sender completely in the UX for all views, and affects mobile as well.</comment>


Banks cause hunger - <AUTHOR> http://www.wdm.org.uk/blog/infographic-how-banks-cause-hunger

<comment><USER2> Uh, I don't really buy it. Banks can not just fix arbitrary prices for food. They speculate on high food prices because they have reasons to believe that prices will rise. Those reasons are the real culprits.

And sorry, how bad is the infographic, if the chart just says "rising food prices driven by speculation" - that is not proof, that is just a claim. Unfortunately many people will just fall for it :-(

<comment><USER3> >Uh, I don't really buy it. Banks can not just fix arbitrary prices for food. They speculate on high food prices because they have reasons to believe that prices will rise. Those reasons are the real culprits.

It's like any other bubble - it started basically because of a lack of anywhere else to invest, and at some point it just grew because it was growing. Remember 1999?

>And sorry, how bad is the infographic, if the chart just says "rising food prices driven by speculation" - that is not proof, that is just a claim.

I thought it was common knowledge. Certainly none of the fundamentals of the market for food have changed enough to warrant price rises to that extreme, and most of the demand is being driven by the futures market, not by, say, the entire world eating 70% more food.

<comment><USER2> If it is common knowledge, then why make an infographic about it? I don't see that "certainly" you mention. Rather, there are lots of factors that seem to threaten food supply in the future (isn't the latest scare the depletion of phosphor?).

Also other than a failed startup, a ton of wheat still sticks around if you buy it. You can either sell it off or let it deteriorate (for a 100% loss).

Sure, you can try to artificially shorten supply and drive prices up that way. It is an age old economic strategy, but as far as I know it has never really worked before (from what I remember from economics textbooks). It would only work for a very short time. Say you hoard rice this year and sell only a little rice at exorbitant prices. Peasants the world over would increase their rice production, so next year there would be a lot more rice, plus your warehouses are already stocked to the ceiling with rice from last year. The prices will now be low - either you sell your rice for cheap, or you throw it into the river. In both cases, the attempt was not really worth it.

<comment><USER3> >If it is common knowledge, then why make an infographic about it?

Because I can't be bothered?

>Sure, you can try to artificially shorten supply and drive prices up that way. It is an age old economic strategy, but as far as I know it has never really worked before (from what I remember from economics textbooks). It would only work for a very short time. Say you hoard rice this year and sell only a little rice at exorbitant prices. Peasants the world over would increase their rice production, so next year there would be a lot more rice, plus your warehouses are already stocked to the ceiling with rice from last year. The prices will now be low - either you sell your rice for cheap, or you throw it into the river. In both cases, the attempt was not really worth it.

If I'm understanding you correctly, a similar argument was made in 2007 - it's actually really expensive to hoard millions of barrels of oil (which is what was assumed if people were speculating), it wouldn't be easy to hide and nobody had really found any evidence of it. I think Paul Krugman made this argument.

Then the bubble went POP pretty spectacularly. I think Krugman eventually admitted he was wrong there.

Hoarding wasn't necessary as the price increases from the futures market were transmitted to the actual market for oil (since most oil is bought on futures anyway, very little is bought at spot price) and the speculators weren't actually taking delivery of the oil they were just rolling the contracts forward. I assume a similar dynamic is in play for wheat right now.

</comment></comment></comment></comment><comment><USER4> This doesn't address any other possible causes:

      * population growth
      * biofuels
      * climate change
      * increased demand for 'expensive' food such as meat
      * corruption
      * the effect of 'fair trade' on food prices
        (fair trade wants them to go up so farmers get more)

Banks may be speculating that the prices are going to go up - but they will have reasons for this speculation. Once the price gets too high then banks will likely also start speculating that the price will go down.

<comment><USER5> _Once the price gets too high then banks will likely also start speculating that the price will go down._

When this occurs, we'll get poorly researched articles talking about how banks are hurting poor rural farmers.

</comment></comment><comment><USER6> Some related links worth reading:

How Goldman Sachs Created the Food Crisis

[http://www.foreignpolicy.com/articles/2011/04/27/how_goldman...](http://www.foreignpolicy.com/articles/2011/04/27/how_goldman_sachs_created_the_food_crisis?page=full)

The food bubble: How Wall Street starved millions and got away with it

<http://www.harpers.org/archive/2010/07/0083022>

<comment><USER7> There seems to be a lot more detail in those articles.

The 1999 deregulation of the futures markets by the Commodities Futures Trading Commission for example, is missing from the World Development Movement infographic. This appears to be a critical detail that's missing.

For your second link, I hit a paywall, so here's a link to get around that: [http://theglobalrealm.com/2011/02/04/the-food-bubble-how- wal...](http://theglobalrealm.com/2011/02/04/the-food-bubble-how-wall-street- starved-millions-and-got-away-with-it/)

<comment><USER6> Thanks.

</comment></comment></comment><comment><USER5> Strangely, the article doesn't actually explain the mechanism by which banks cause hunger. They point out (correctly) that short term price spikes are caused by speculation, without explaining the long term price increases.

<comment><USER8> Although one of the side effects of speculation is that price volatility should be reduced.

<comment><USER5> Although that is usually a side effect of speculation [1], it does not preclude speculation causing the occasional sudden price move.

For instance, if speculators believe there will be scarcity in 3 months (which starts gradually), the futures price will spike now. This will incentivize people to reduce consumption now, rather than when the scarcity actually manifests itself. Of course, reduced consumption now leads to greater availability later.

If we had no speculators, we'd continue overconsuming until it was too late, but there would be no sudden jump in prices.

[1] The best test case is onions vs other goods, since futures contracts for onions are illegal. [http://resolutedetermination.wordpress.com/2011/05/07/oil- pr...](http://resolutedetermination.wordpress.com/2011/05/07/oil-price- speculators-onions/)

</comment></comment></comment><comment><USER9> Another significant element in the rise of global food prices is the devaluation of the USD. The US exports considerable amounts of wheat, and as more money is printed this inflation increases the cost of US wheat for importing nations. Furthermore, USD inflation and monetary policy affects food economics in ways far beyond that of buying wheat from the US: consider that low interest rates make borrowing money for speculation quite easy and with less risk. In addition, there are a number of factors causing shortages in the production of wheat, such as droughts, bad weather, and diseases that were once though gone but are now resurgent due to the lack of genetic diversity in wheat strains.

From June 2010 to January 2011 the cost of wheat increased by 73%, according to the World Bank. The true price of this is not only in the suffering of individual humans and their families, but in the destabilizing of governments and the revolutions seen in the Arab Spring.

<comment><USER10> There's also ethanol. It has the trifecta of govt support, a subsidy, an import restriction, and a mandated use.

This has significantly reduced the amount of US corn available for food and it also decreased the amount of other food grown as farmers switched to corn when possible.

</comment></comment><comment><USER11> For all those who "don't get it", read jsmcgd's link. For convenience I'll repeat it here "How Goldman Sachs Created the Food Crisis" [http://www.foreignpolicy.com/articles/2011/04/27/how_goldman...](http://www.foreignpolicy.com/articles/2011/04/27/how_goldman_sachs_created_the_food_crisis?page=full)

The very briefest answer is that G.S. created a "long only" investment vehicle based on food staples with no mechanism for shorting it.

<comment><USER10> > The very briefest answer is that G.S. created a "long only" investment > vehicle based on food staples with no mechanism for shorting it.

In other words, GS didn't create a mechanism for speculation....

Note that the financial industry is often trashed for shorts, as in "those folks are betting on/profiting from failure".

So, now we find that they're also wrong for not creating an opportunity for shorting.

</comment></comment><comment><USER12> The World Development Movement has published a report today which explains exactly how speculation impacts on real food prices, and outlines why climate change, population growth, biofuels etc are not to blame for the short-term price rises we've seen recently. Well worth a read!

[http://www.wdm.org.uk/stop-bankers-betting-food/broken- marke...](http://www.wdm.org.uk/stop-bankers-betting-food/broken-markets-how- financial-regulation-can-prevent-food-crisis)</comment>


Ask HN: Why are all posts about David Koch's death being flagged on HN? - <AUTHOR> David Koch was one of the most interesting businessmen of our time. Sure, some people don't agree with his views. But, why are ALL posts about his death being flagged and subsequently removed? None of them seem to be violating any of the rules. This is an honest question!<p>Examples:<p>- https://news.ycombinator.com/item?id=20777811<p>- https://news.ycombinator.com/item?id=20777292 <comment><USER2> [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

 _Off-Topic: Most stories about politics, or crime, or sports, unless they 're evidence of some interesting new phenomenon.... If they'd cover it on TV news, it's probably off-topic._

<comment><AUTHOR> I'm not a fan of Koch but I don't find this answer satisfying. I really hate to say this, but, it sort-of _feels_ like HN is censoring news.

I would think the death of a prominent business figure would be relevant to our community. But I guess not.

<comment><USER3> HN isn't censoring it. User are flagging it. Because it's off-topic.

<comment><USER4> Large community sites need never censor anything, then. For any subject even slightly controversial, there will always be at least some users flagging/reporting to justify removing it.

Wouldn't you consider selective enforcement a type of censorship?

<comment><USER3> It's not selective enforcement.

HN users get to vote what shows up on the front page. A certain ratio of votes-to-flags triggers removal. It's no more censorship than voting for a politician censors their opponent.

<comment><USER4> I guess you're right, then, if it's truly always a result of user reporting and HN never overrides that. I know that's not the case for Reddit, so kudos to HN.

<comment><USER5> Sometimes we override user flags but as far as I know moderators haven't touched any of these submissions.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> What interesting discussion is there to be had about it?

</comment><comment><USER7> It's hard to imagine that any discussion of Koch's legacy won't be political, which is something HN's moderators generally prefer to avoid.

</comment><comment><USER8> To answer your question: I personally flag all death articles, unless it is sudden as in important tech person dying young. For any other case there is generally nothing to talk about, as there are no actionable consequences. Though some people like to praise accomplishments now and then.

</comment><comment><USER9> Every few months or so a new "yes the Koch brothers really are that evil" post makes the rounds, but interestingly not here (HN). Seems that the family is off limits.

<comment><USER9> I take that back: there have been plenty of posts in the past about the Koch family, of which haven't been largely positive.

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

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

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

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

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

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

Some of these have been flagged as well.

</comment></comment><comment><USER10> "Some people don't agree his views"

Pretty sure it will be closer to 100% amongst the HN community.

<comment><USER11> I think you underestimate how much libertarian kool aid has been consumed by the HN community.

<comment><USER12> Your downvotes are funny because there really are plenty of people on all sides on HN</comment></comment></comment>


Silverlight vs. Flash: The Developer Story - <AUTHOR> http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx

<comment><USER2> I'd love to give Silverlight a test run, but I can't develop content for it on my Mac...</comment>


Learn C or Rust first? - <AUTHOR> I'm 15, I know JavaScript and taking AP Java in school(I really don't like it), and I'm very intrigued by Rust. Should I learn C first though? I don't really want to but some people said I should but some others said it doesn't matter, since you can learn a lot a bit less of what C teaches you(since some Rust libraries hide some complexity, is it really important though?), but its still a lot of information about how memory/computers work, however, I'm more interested in the language than how the computer's internal systems work right now. <comment><USER2> Learn C first. Learn C first. _Learn C first_.

It's a small language, it's everywhere, and it's going to build character.

Rust is still undergoing active development, and solves a different problem space than C by virtue of what it adds. It's a good language, mind you, but it doesn't expose you to the warts of hardware like C will (by design!). It won't let you deal with null or dangling pointers. It will abstract away data types with _let_. It will treat memory safely (which it really isn't). It's a great language that will hopefully replace C one day, but that doesn't mean you should start there.

Learning and debugging C will help you understand how processors work (especially if you start with something simple like an MSP430 devkit). You can look at the code and the generated assembly and see pretty much how the compiler came up with what it did. If you're developing on a Unix descendant, you'll be dealing with things at a level the operating system intends.

You'll get to look at a huge corpus of code already out there and see what works and what doesn't, and if it strikes you you'll be able to modify it (say, making mods for Half-Life or Quake 3 or whatever) and see how things work.

Start with C!

EDIT:

Later, you'll see _why_ C needed replacing. You'll never appreciate Java fully, for example, without dealing with all the stupid C++ allows.

Comedy option--learn Erlang or Elixir--you'll be spoiled for the rest of your career once you see how annoying things can be elsewhere.

<comment><AUTHOR> but I stated that I do not wish to learn about how the internals of the computer works, rather than im more interested in the language itself, which is Rust. plus I saw Elixir, I didnt like it all :(

<comment><USER2> So, no language worth it's salt completely hides how the computer works from you (again, except for certain members of the FP family, or declarative languages like Prolog or SQL).

For example, Javascript has a problems when adding ".1+.2". Know why? IEEE754 limitations on double-precision floating-point arithmetic, as implemented in hardware.

 _Programming languages exist to program the machine_ , full stop. Everything else is just people faffing about on their thesis defense.

Anyways, if you didn't like Elixir--probably because you don't have the experience yet to see why it's awesome--that's okay: learn C. :)

<comment><AUTHOR> I really meant that I prefer JS(Node/IO) over Elixir.

</comment></comment></comment></comment><comment><USER3> I never wanted to learn the details of how a computer really work as, but I spend a single week learning C, just to learn the basic concepts like pointers. It really helped me understand better other languages. Besides, It would take you many years for you to master it, and the kind of jobs you would get with it would f* damn boring. Don't waste more than a week on it :)

I'm learning Rust at the moment, I feel I can express my ideas better with it versus go. But as a hobby. for fun.

I've being coding exclusively in JS for 3 years. And just now I feel comfortable with it.

There is so much going on with it. I bet you heard about OOP, but what about functional programing. And functional reactive programing ?

There are so many libraries and framework in JS. It just crazy. There is angular vs ember. And what about react or famo.us ? And there is nodejs, and things like npm, gulp, browserify.

To learn javascript, the language is one thing. But all its tools is another.

The reality is this, the more languages you learn, the easier it is to learn a next one. Today I know over 10 languages, but I master only one. And that is what matters, the one you master.

But what I things is super important for a programmer this days is a basic knowledge of shell and git. IMO

</comment><comment><USER4> I'd suggest Go over Rust for a beginner. Go would allow you to do pretty much any kind of project you wanted (web API, mobile app, CLI tool), which is what's important for learning: having little hobby projects that you do on your own.

By learning Java, you're already getting some good CS fundamentals. It probably wouldn't help you that much to learn C on top of that.

I'll leave you with this: if you want to make programming into a career, you don't need to learn C. If you want to study programming as a researcher or teach it, you should learn C.

Being 15, you don't know what you want to do though, so I'd suggest just doing what you find fun for now and worry about the rest of it later.

<comment><USER2> This is really bad advice, except for the last part. :)

If the idea is "Hey, let's use a framework good for beginners and hack together projects", OP should just extend their Javascript knowledge into Nodejs--and there's nothing wrong with that.

 _" By learning Java, you're already getting some good CS fundamentals."_

This is wrong. If you are trying to learn CS fundamentals, learn Scheme or Clojure or some other functional language. Java in practice is basically plumbing together large frameworks built by people smarter than you who probably worked at Sun fifteen years ago--and who often got things wrong. Java in theory is ramming OOP design down your throat, and still exposing enough implementation details of the runtime that you can't ignore them.

Java is a _not_ a good way to learn CS fundamentals.

 _if you want to make programming into a career, you don 't need to learn C._

This is only true if you want to be a blub programmer and punch the clock and basically just farm code in enterprise. Learning C is essential (barring learning assembly) to getting access to great swathes of performance-critical environments, tracking down weird bugs, and generally understanding what you machine is doing.

<comment><USER4> _This is only true if you want to be a blub programmer and punch the clock and basically just farm code in enterprise._

Times change. A lot of (what I would consider) interesting jobs only require web languages, which are high-level, messy, and abstract away a huge amount of underlying complexity (many would say too much).

I'm telling him/her how things are, not how we want them to be. Only a small fraction of being can be great engineers. The rest of the millions of developers out there are writing sloppy blub code on top of an opinionated framework.

 _If you are trying to learn CS fundamentals, learn Scheme or Clojure or some other functional language._

I don't think we're using the same definition of "fundamentals". I was talking about things as simple as writing code, compiling, debugging, and googling (the most important skill of a programmer).

S/he'd also be learning OOP, which dwarfs FP in the web development world[1]. I actually don't think I've ever heard of a popular web framework that was written functionally, though I should also mention that I think the practical differences between FP and well-written OO are exaggerated. They aren't mutually exclusive, and OO doesn't imply mutability.

1\. [http://lifehacker.com/the-top-programming-languages- ranked-b...](http://lifehacker.com/the-top-programming-languages-ranked-by- job-demand-po-1601752302)

</comment></comment></comment><comment><USER5> Maybe you could briefly go through K&R, it is both readable and challenging. Then start Rust

<comment><USER6> I strongly disagree, when I was 15 I got the same advice and it nearly turned me away from programming. K&R is not a good standalone text book. (Sure I had no internet and just a redhat5 clone, but K&R just was not that helpful)

I would pick Rust to learn over C when starting today. Rust matches today's machine beter. It is a more organized language and eco system. And most of all learning to code corect is easier when you do not run into undefined behaviour right and left.

So a modern language like Rust will expose more concepts to you and picking up C is easier afterwards, although you might not want to.</comment></comment>


Stanley Kubrick didn't do drugs - <AUTHOR> http://brandonsneed.com/stanley-kubrick-didnt-drugs/ <comment><USER2> I basically agree with him; it's a chemical crutch for those whom have less creativity than they'd like. Granted I think most drugs should be legalized, usage is a personal choice, and sometimes they can be enjoyable, but I also think as an artist you shouldn't _need_ them.

There have been numerous articles about "micro dosing" of LSD and how it's supposedly expanding people's creativity, but to me it just sounds like people want to use that as a justification for getting high at work.</comment>


Not Lisp again.... - <AUTHOR> http://funcall.blogspot.com/2009/03/not-lisp-again.html <comment><USER2> This is the essence of that "This is so cool"-feeling that arises when you first really _get_ programming.

And almost makes me want to invest in SICP or something similar to see what all this LISP-talk is about :)

<comment><USER3> You know, if you keep learning you will never cease to have this feeling.

      ?- append([1, 2, 3], [4, 5, 6], X).
      X = [1, 2, 3, 4, 5, 6].

      ?- append([1, 2, 3], X, [1, 2, 3, 4, 5, 6]).
      X = [4, 5, 6].

      ?- append(X, [4, 5, 6], [1, 2, 3, 4, 5, 6]).
      X = [1, 2, 3].

And the definition of append:

      append([], X, X).
      append([X | Y], Z, [X | O]) :- append(Y, Z, O).

Magic!

<comment><USER4> What is this snippet supposed to tell me? Looks completely meaningless to me.

<comment><USER5> Basically what's going on is this, but with lists:

3 + 5 = X?

X = 8

3 + X = 8?

X = 5

5 + X = 8?

X = 3

In most programming languages, you can't infer a parameter by specifying a result.

(Though that's not strictly what's going on here, either)

You could further say something like X + Y = 8 and get

X = 0, Y = 8

X = 1, Y = 7

etc. for some definitions.

Which is, as the OP was getting at, sometimes incredibly useful.

<comment><USER4> Ah thanks for clarifying. Now it makes sense. Are there any real world applications for this, for us mortal web developers?

<comment><USER5> If you're asking "are there potentially awesome applications of this?" then the answer is probably "yes".

If you're asking "is there anything in the wild that I would know of and uses this?" then the answer is probably "no".

Most of the prolog projects I've ever seen are pretty inbred; implementing compilers or interpreters, hooks for another language-type things. Though it must be said that I'm not deeply embedded in the prolog community.

<comment><USER6> In my 4th year university project we worked on an expert system for a card game in Prolog... For doing an expert system based AI, prolog is pretty good...

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I loved this same course (spring '87 for me), but I wasn't impressed with the speed. I came away thinking Scheme was for fun and C was for practical programming. I've come around since then, and I don't have any performance concerns about my Scheme-based web site.

<comment><USER8> What is your scheme-based website? Is it ourdoings or something else? Just curious because there aren't a lot of them out there that I know of.

<comment><USER7> OurDoings is it. I still use the "wishful thinking" programming methodology I learned from SICP. I'm married with 3 kids and a separate day job, and don't think I could have pulled this off using a less programmable programming language.

<comment><USER8> That's cool. Could I interview you about developing web apps using Scheme? I'm working on a blog post / interview on the topic w/ all the people I know who do Scheme web development.

Anyway if you are interested I'd love to hear from you, my email is: email@example.com

</comment></comment></comment></comment><comment><USER9> Hey you can do this w/ python too!

<code> dx = .000001

def deriv(f): def fprime(x): return (f(x+dx) - f(x))/dx return fprime

def cube(x): return x __3

def printDeriv(x): print (deriv(cube))(x) print 3 _x_ *2

printDeriv(5) </code>

<comment><USER10> In general, you can do this in any language which lets you pass functions around as values, and which supports closures. And languages in which you can fake it somehow.

</comment></comment><comment><USER11> An excellent recent book is Peter Seibel's Practical Common Lisp. <http://www.gigamonkeys.com/book/> The approach is what you might guess from the title, so it addresses both the fun of Lisp and the building of practical applications (including web apps).

</comment><comment><USER12> Funny how tail recursion pretty much has "cute optimization hack" written all over it. It really doesn't feel at home in a first lecture on programming.

<comment><USER13> Tail recursion has profound theoretical implications, so it belongs there. If your language is properly tail-recursive it completely changes definition of recursive and iterative.

</comment></comment><comment><USER14> Summary: tail recursion FTW!

<http://en.wikipedia.org/wiki/Tail_recursion>

<comment><USER10> This belongs in the summary: {higher-order functions, closures, potentially- inefficient elegance} FTW.

</comment></comment><comment><USER15> Interesting first lecture. I think the great Oscar Waddell (a wizard though no longer in academia to my knowledge) wrote a Scheme program centered around beer for our first lecture at IU. Now _that_ caught the attention of many students and I'm pretty sure the class /grew/ in size for the next lecture.

</comment><comment><USER16> That derivative example is nice, but it reinforces that Lisp is a bit too "pure"/"mathy" for my taste (that and I really don't like the syntax). My equivalent of that derivative thing was probably the examples in "Why's Poignant Guide to Ruby", pretty syntax-highlighting colors and all.

</comment><comment><USER17> the four concerns the author lists at the end are interesting for what they say about where he's coming from. to me, the joy of programming is more about programming than speed or efficiency.

that he also put 'harder to understand' and 'capability' in the list is confusing. he must mean capability in some kind of raw sense, whereas i see capability as having abstraction and libraries so i can get to the meat faster. again, abstraction is usually easier to understand.

perhaps when meat is speed and efficiency then our perspectives merge. psyched about 16 Mb of RAM!

btw, scheme has recently been replaced by python in the intro programming courses. snap.

<comment><USER18> Read the previous post where he was introduced to Lisp by way of MACRO-11, and you'll see what he means by "capability".</comment></comment>


Pod Cars of the Past and Future: The Morgantown PRT (2016) [video] - <AUTHOR> https://www.youtube.com/watch?v=iaSaWfw07Sw <comment><USER2> Riding a PRT in Morgantown during a football game is quite an experience. At least when I was familiar, it was quite the smell was often a mixture of piss, and vomit, only occasionally from the person's currently riding it.

Every year they wouldsee how many people they could cram into one PRT car, I think the record was 28, which was pretty significant. The PRT is definitely a unique experience.

</comment><comment><USER3> More stats: [https://en.m.wikipedia.org/wiki/Morgantown_Personal_Rapid_Tr...](https://en.m.wikipedia.org/wiki/Morgantown_Personal_Rapid_Transit)

I had to see how the cars are powered:

> The cars are powered by three-phase 575-volt alternating current rectified > to drive a 70 horsepower (52 kW) direct current motor. Electric pickups are > fixed on both sides of each car, which connect to electrified rails on one, > or both, sides of the guideway.

And controlled:

> When it opened, the PRT was controlled by DEC PDP-11 computers installed in > 1971. Due to difficulty in procuring replacement parts, these older > computers were replaced in 1997-1998 with Intel Pentium computers

</comment><comment><USER4> I went to school here. The PRT was a staple of transit and culture. Being a 70's proof of concept, maintenance and retrofitting were a way of life. The cars were also controlled by DTMF tones that would play over the vehicle loudspeaker.

I also recall one professor telling me that after they could no longer repair the mechanical parts of the PDPs that ran the system, they programmed an emulator that ran on a pentium III but the software itself never changed. The hardest part of the emulation was apparently getting the timing correct as the original system simply ran at the max speed for the original hardware.

Every few years that PRT would have a problem and in addition to getting outside consultation, they'd have a context in the engineering school to fix the problem. Generally the student body was pretty fond of it.

</comment><comment><USER5> I have been in love with the Morgantown PRT for awhile now. How can you not love a still-running proof-of-concept world's fair style vision of futuristic transportation in a college town in West Virginia.</comment>


Is Adobe PDF Reader becoming irrelevant? - <AUTHOR>

PDF viewing is now built into Google Chome.  Microsoft and Mozilla have announced that future versions of their browsers will include integrated PDF readers.<p>Is Adobe's PDF Reader becoming irrelevant?  Does it matter to Adobe that it might be losing control of PDF reading?  Why did Adobe fail to build Adobe Reader plugins that integrate nicely into all browsers? <comment><USER2> You mean there might be a future day where ;m not tortured by Adobe Acrobat begging me to stop my real work so I can do some meaningless update?</comment>


From Farm to Fridge to Garbage Can - <AUTHOR> http://well.blogs.nytimes.com/2010/11/01/from-farm-to-fridge-to-garbage-can/?ref=science <comment><USER2> I never realized how much food we actually threw away until recently. Our city began a green box composting program (compostable items such as food waste are picked up at the curb on garbage day). When you have to collect it all together once a week, you can see just how much you have wasted.</comment>


For Brits: click Republican? on the Guardian front page to hide royal news - <AUTHOR> http://www.guardian.co.uk <comment><USER2> Note to Americans: "Republican" in the U.K. refers to the "movement which seeks to remove the British monarchy and replace it with a republic that has a non-hereditary head of state" [1].

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

<comment><USER3> The name for the US republican party has always surprised me, especially because the other party is "democrat". Here in France too, "republican" mostly means "a non royalist administration". Democratic then precises what kind of organization. So, it kind of sounds like US republicans do not stand for democracy.

<comment><USER4> If I'm remembering my history right, there were two main reasons for the name. It was, in part, a callback to the older, defunct, Democratic-Republican party that had been around in the early US.

It was also a mild dig against the Democratic party, implying that their support of slavery stood against republican ideals.

<comment><USER3> I see, thanks for clarifying.

I don't know much about early US history, I think I'll dig in, because having democrats being pro slavery and republicans anti slavery is something I wouldn't have expected.

<comment><USER5> In the US, we had six party systems since the revolution. Each time we translation, we get two mostly new political parties which sometimes reuse the names of the defunct parties. Wikipedia has a good description: [http://en.wikipedia.org/wiki/Party_system#United_States](http://en.wikipedia.org/wiki/Party_system#United_States)

<comment><USER6> you (GP) could also check out the XKCD of american political history. it has quite a few of the party names that people used throughout (which are entertaining, in a geeky kind of way):

[http://xkcd.com/1127/](http://xkcd.com/1127/)

full res: [http://xkcd.com/1127/large/](http://xkcd.com/1127/large/)

<comment><USER3> Thanks you all, this has been very instructive. I realize I had a massive misinterpretation about left and right in the US.

That's because, in France, left wing has always been associated to humanism (humans first, economics then) and universal rights (the whole world deserve to have rights), while right wing is most about economics and nationalism.

From what I understand, US left wing is historically about equality for the "real USians" (kind of nationalism of the poors) while right wing, until getting own by far right in XXth's end, was for a very liberal society, be it in term of economics or in term of social rights.

This would explain a lot in the recent NSA reactions, where we were very shocked that the debate seemed to focus on whether or not US citizen were spied, rather than if mass surveillance was a problem at all.

Am I correct, here ?

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> When I switch to the UK edition and select "Republican?", the lead story in the right column changes from "Duchess of Cambridge admitted to hospital in early stages of labour" to "The world's best swimming pools." I can't really decide which is more newsworthy.

<comment><USER2> I was musing on if U.S. news sources did this with particularly partisan content it might promote a less partisan news-space.

Countering that was my reaction upon seeing this: "they really ought to be able to predict who would click that link and default the page to the correct setting". Creating echo chambers minimises friction by relieving consumers of having to continuously re-evaluate their positions given the other sides' points.

<comment><USER8> _> they really ought to be able to predict who would click that link and default the page to the correct setting_

That would deny republicans the satisfaction of clicking on the button as they shout "FUCK YOUUUU QUEEN!" inside their heads.

Like almost everything to do with the british state, this is 90% ceremony, which ultimately serves to prevent us cutting down the royals in the street like dogs in the manner of the continentals.

</comment></comment></comment><comment><USER9> Heh, I'm massively pro Royal. But I really don't give a toss about tittle tattle stories like babies, etc. Even I would click "republican".

<comment><USER10> > _Heh, I 'm massively pro Royal_

It's 2013. Why would you be that?

You like paying money for some blood-line family to sit and have the good life?

<comment><USER11> I think the royal family actually works out as a net positive economically when you factor in the tourism income they generate.

It's also quite nice having someone connected with government that has been around longer than one or two political terms and thus has a wealth of experience to draw from and can an act in a way that's above short term popularism. If you ask even the most die hard anti-monarchists in the UK, I believe most of them would agree that the Queen has done a very good job. They're more concerned with her offspring and what happens when she dies.

Edit: forgot to mention too that the Queen, Charles, Harry, William, Kate and other immediate family members spend an enormous amount of their time directly involved in charity work.

<comment><USER12> We'd get the tourism anyway - people got to Stratford Upon Avon and Shakespeare has been dead for years.

What we get from monarchy is an ever expanding line of spongers and hangers on who we're expected to support.

Someone will no doubt be along in a minute to say we don't support them financially as they are the crown and generate wealth that way but I'd argue that was all stolen from the common man anyway (plus there's lots of hidden costs such as policing and security that don't come out of the royal budget)

The French had it right with Louis XVI.

We need a non-political president like the Irish, German and Israeli's have.

<comment><USER13> _people got to Stratford Upon Avon and Shakespeare has been dead for years._

There was only ever one Shakespeare. There have been hundreds of royal families- the British one is notable because it still exists today. Take that away and they're just one of many, and tourists would be far, far less interested.

Then what do we promote? The Lake District?

<comment><USER12> Oh and people have stopped visiting palaces like Versailles because the French no longer have a monarchy?

</comment></comment></comment></comment></comment></comment><comment><USER14> I often wonder who loves the Royal Family more, the British or the Americans.

<comment><USER15> For a start, the Americans likely don't finance the royal family or have to accept their tax avoidance.

<comment><USER16> You list that as two separate things.

We don't directly finance the royal family although various members get paid very well for various public engagements.

Tax avoidance implies breaking the law. The tax arrangements with the royal family reflect the unique position as de facto holders of much UK "public" property. This is being sorted out with the separation of Crown Property and the various family member's private property and the definition of state / private events. As this is resolved, the royal family take on a greater tax burden. The Queen has been paying income tax for decades.

People seem to separate the Royal Family from other rich and powerful people in the country. They all got there the same way, playing the game of capitalism (in which inheritance / nepotism is inherent)) better than us. If the UK dropped its monarchy, these people wouldn't just disappear. They would still be massively rich. They would still, fortunately, act as a tourist magnet (although probably to a lesser degree). They would still be plastered all over the papers.

And we'd probably end up replacing them with some voted in leader to the 2nd house. Cue more politicians and even worse media frenzy. Woot!

<comment><USER17> No, 'evasion' implies breaking the law.

I think the parent was referring specifically to Prince Charles and the Duchy of Cornwall's curious tax affairs. As you say, the rest of the rest pay tax.

<comment><USER16> I was going to say that in the UK the two are the same, however it seems we have adopted the USAian usages. Apparently, my knowledge of tax law is stuck in the 70s...

</comment></comment></comment></comment></comment><comment><USER18> Shame they're not tracking its use, at least just for fun: I can't see an HTTP request going out when I click the toggly link. The Wikipedia page quoted elsewhere here cites a Guardian and Observer (same company) poll reporting 54% support for the abolition of the monarchy.

<comment> mike-cardwell They're using localstorage. Run the following in your browsers console before and after clicking the link:

localStorage.getItem('royalRepub')

</comment></comment><comment><USER19> Why not tell it how it really is and allow us to switch between "news" and "gossip".

Or perhaps leave gossip to the gossip rags?

</comment><comment><USER20> The Brazilian O Globo newspaper site could use an option like this on the Pope's visit.

</comment><comment><USER21> Not that long ago, a UK newspaper call The Independant refused to cover any royal stories at all.

I was saddened when they published the birth of that Harry in a column on the inside pages, it should not have been covered at all.

I do not know if the Indie still has this policy.

<comment> chestnut-tree I feel the media coverage of the Royal birth has been excessive. Is it really worthy of being the top headline story?

The BBC is one of the worst offenders - they have an entire page devoted to "live" coverage!

[http://www.bbc.co.uk/news/uk-23413944](http://www.bbc.co.uk/news/uk-23413944)

It's pretty ridiculous. The BBC's coverage of anything related to the Royal Family is always far too fawning and sycophantic.

</comment></comment><comment><USER22> I'm quite sure they did the same thing for the Royal Wedding.

</comment><comment><USER23> The link should just read "FUCK TABLOIDS!"

</comment><comment><USER6> this. is. awesome.</comment>