Fedora 14 is out - <AUTHOR> http://torrent.fedoraproject.org/

<comment><USER2> As a python developer one of the things I particularly like about Fedora is its inclusion of Python systemtap probes. This allows you to examine at a glance which python functions are taking most of the runtime. The fedora patches have been submitted for upstream inclusion at <http://bugs.python.org/issue4111> . More details about this feature can be found at [http://fedoraproject.org/wiki/Features/SystemtapStaticProbes...](http://fedoraproject.org/wiki/Features/SystemtapStaticProbes#Python) . fwiw I am not affiliated with Redhat or any other OS vendor in any way.

</comment><comment><USER3> I just tried the default F14 desktop and the KDE spin (both on Live CDs) and I can't believe how depressing the desktop environments still are.

The colors are depressing, there are little tiny buttons and icons everywhere, but no indication or popups as to what they do. The UI transitions are clunky (at least what I'm used to on Mac OS X and W7). Fonts are blocky. The KDE desktop looks kinda nice in screenshots, but once I started interacting with it, my positive impressions changed.

I'm a guy who spends his time in Terminals, but like it or not, the GUI has become an effective management tool for all of this.

Everything is virtually as I left it in 2001. This is depressing, because my plan was to eventually go back.

<comment> old-gregg Can't comment on KDE because I never liked them, but Ubuntu/Gnome has progressed quite nicely since 2005 (my first "Linux year"). In fact my opinion is 180 degree opposite of yours: 2 years ago I switched to OSX and couldn't tolerate how dumb and unusable the UI felt: I waited a year hoping to adjust but surrendered and went back to Gnome.

I've given up on arguing about GUIs though: it all comes down to individual preferences, oftentimes in coffee shops and offices I look at people and notice how bizarre some of their UI habits are, and I'm sure others can say this about me.

Here's my take on Gnove-vs-others, and a good counter argument made in the comments: <http://kontsevoy.blogspot.com/2008/11/ubuntu-8.html>

<comment><USER3> Great points.

I think the thing that especially appeals to me about the OS X and W7 environments is that they're not an eye sore (warm colors & effects, not kludgy looking), and they have quick access to system-wide search that works (Spotlight and Windows Search, respectively). These are my rather minimalist needs.

I have a hard time coming up with an analogy, but when I open windows on one of the live CDs, I feel like there's a gnome (no pun intended) in the background grabbing and stapling up shoddy UI mockups on the inside of my LCD.

It all comes down to tastes, as you say, though. I used to be a MOTIF and IceWM guy, so mine have definitely changed. I can't imagine "most people" would like the state of the Linux UI, though.

Having used KDE (since it was an ugly Windows 95 clone, anyone remember those initial efforts?) and GNOME from their births, not much has really seemed to change. Meanwhile, the UI paradigms have shifted significantly, in the rest of the computing world.

<comment><USER4> _> not much has really seemed to change._

On the surface perhaps, but the beauty of Linux is that what you see is not what you can get. There are plenty of cool UI paradigms available just an apt- get away.

For example, I use Ubuntu, but I auto-hide the taskbar and use Gnome-Do to access _everything_. Terminal is available via Guake drop down. Windows are arranged in workspaces on the surfaces of a 3D rotating cube. Mouse is 100% optional for controlling windows and OS. And if I wanted I could exchange all that with a tiling WM like Xmonad or Awesome (though I find Compiz Grid + Guake equally efficient).

Now, I haven't used Windows since my Win 7 eval copy expired last February, or OS X since the last time I walked into an Apple Store, but I don't see that their UI paradigms have shifted significantly at all. It's still basically the same mouse-controlled window systems, perhaps with a few new bells and whistles like desktop search, GPU-enhanced eye candy, and optimized performance thrown in. But none of those change the usage paradigm as far as I can tell.

Am I missing something?

</comment></comment></comment></comment><comment><USER5> As per the announcement: <http://fedoraproject.org/wiki/Fedora_14_announcement>

This is the first release to include official ec2 images. However, I'm having trouble finding them, anyone know the ami?

<comment><USER6> Justin tells me that AMIs are only currently available on US-East right now, but will be available for all EC2 users later today.

Edit: When they are available, he'll post a message here: [http://lists.fedoraproject.org/pipermail/cloud/2010-November...](http://lists.fedoraproject.org/pipermail/cloud/2010-November/thread.html)

</comment></comment><comment><USER7> I keep being tempted to move to something other than Ubuntu. Got my start on Linux way back when it was still called "Fedora Core" so I think I'm going to wind up installing this to see how it looks these days.

Anyone use Fedora regularly?

<comment><USER8> I use Fedora's LXDE spin on my netbook, and the KDE spin on my workstation. Once I felt comfortable using Linux, I wasn't liking some of the directions Ubuntu was headed in (not that it's bad - it just wasn't targeted at someone like me), so I switched. Almost everything has always worked out-of-the-box for me, which has always been one of Ubuntu's strongest points. I used to do a lot of work with a custom kernel, and Fedora has some great tools for that kind of development. It's not as polished or user-friendly as Ubuntu, but if you like the Unix-ness of Ubuntu as opposed to the glitter, you'd probably feel more at home with Fedora, which is more traditional and generally has a more advanced community.

edit: Plus, I've always had good experiences with Red Hat's products, so I like to be loyal :)

<comment><USER7> That's actually the big reason I was looking to change. I feel like every Ubuntu release is pulling more away from what I like to have.

<comment><USER9> What would you like to have?

<comment><USER8> Speaking for myself, this is why I switched from Ubuntu to Fedora. Let me clarify that I completely understand why most users would prefer's Ubuntu's approach, and I'm sure there are ways to make Ubuntu work this way, but basically I just feel more comfortable on Fedora for these reasons:

\- There's a huge amount of Ubuntu branding and renaming. I initially paid attention to this after the pretty silent updates that added "Ubuntu branding" to Firefox. I saw a lot of packages and applications that were renamed (or at least represented differently) to make them more generic. Personally, I would rather use the raw software and see the real names for the software packages. Fedora does this a bit too, but to a lesser extent.

\- The interface is very polished, but I like having a very raw, stripped-down interface. I generally work quickly, and I can't stand it when the OS can't keep up. I like KDE, and this can be a memory hog, but Ubuntu's additions are even worse, IMO. It was getting harder and harder with each version of Ubuntu to get the interface where I wanted, and now that they're branching away from standard GNOME, I only see this getting worse.

\- On that note, I was very unimpressed by Kubuntu, as it had obviously not received the same quality of attention as Ubuntu. As I prefer to use KDE and LXDE, I appreciate the very consistent quality between all the "spins" of Fedora.

\- SELinux and hard-drive encryption work out of the box. Again, I'm sure I could get this running just fine on Ubuntu, but it's so much easier with Fedora, so this contributed to me just feeling more at home.

\- The kernel had been modified a ton before it got shipped in a release. When I recompiled a kernel it wreaked havoc on some of the software that had previously relied on the added functionality. On Fedora I rebooted into a vanilla kernel and had no problems.

I realize some of these are pretty abstract reasons, but these seem to be directions they're heading more and more, so as I said, I just feel more at home on Fedora, now that I'm comfortable using Linux.

<comment><USER9> Thanks for that. I abandoned Ubuntu and went back to Debian (desktop) for some of the same reasons - I don't like Ubuntu's take on Gnome.

I think Ubuntu should have versions/spins like Fedora. I think it's confusing for the end user with their odd branding Kubuntu etc. How about Ubuntu - Education Edition, Ubuntu - Lightweight Edition, Ubuntu - Netbook Edition - something like that instead.

<comment><USER8> I agree - it's really hard to tell the difference between a project that's an official derivitive of Ubuntu, and not a separate "*buntu" project.

I'm curious - how do you like Debian?

<comment><USER10> I switched to Debian from Ubuntu (where I got my start in Linux) because I no longer felt like I needed the UI or install to hold my hand and wanted to be able to build up my own system from a minimal install. I chose Debian simply because my Ubuntu experience had made me very familiar with aptitude, and I wanted to stick with something popular so my chances of successfully Googling for help were higher.

My work's servers use Debian, and my home ISP runs an unmetered repository for it too.

I've tried Fedora in the past when I was still very much a newbie and found it intimidating. Given I know next to nothing about Red Hat derivatives of Linux it would probably pay to get familiar with them sometime over the next few months.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Fedora/yum has a kick ass killer feature, which is called "presto - The delta RPM" . I live in a developing country where the internet/bandwidth is costly. Presto saves my bandwidth and money. When i last updated my F13 Presto reduced the update size by 83% (from 194 M to 33 M). For this i will stay with Fedora for ever.

</comment><comment><USER12> I'm relatively new to the linux world. I started using Ubuntu about 3 years ago. I moved to Fedora just to experiment, and it was one of the best choices I made. They do well to encourage their community to contribute, and they make it so easy to do.

It got me involved from the start, and had me starting to dabble in python and learn how to make desktop widgets. Also, having all the dev tools needed available in meta-packages is a huge plus. As well as starting me on the path of coding and learning how to contribute to a project, Fedora may very well be the reason I am back in school for CSIS. That's something other OS's may have never offered me. I have a lot to thank these guys for, hopefully one day I'll be able to.

I'd say it's totally worth trying out. There's a lot of young and innovative minds out there that are googling "how to be a hacker" as I write this, and I hope that they come across the Fedora project while searching.

</comment><comment><USER13> How do you get Ubuntu-like subpixel antialiasing in Fedora?

<comment><USER14> The lack of this is the primary reason I don't consider running Fedora over Ubuntu. Shallow, perhaps, but when you stare at a computer screen all day, good font rendering matters.

There is a guy who maintains a set of Fedora packages with versions of Cairo and Xft with the relevant patches for that beautiful font rendering: <http://www.infinality.net/blog/?p=5>

I've always been reluctant to jump to Fedora and rely on this guy to keep up his work, though.

EDIT: Looks like this guy already has these patched packages (and some Freetype tweaks too) ready for Fedora 14, see his most recent post.

I still really wish this would get out of the "some dude has to patch it in" territory and just become the standard font rendering configuration for Linux distros besides Ubuntu.

<comment><USER13> Thanks! I actually tried installing these, but haven't noticed the warning that it shouldn't be configured via gnome-appearance-properties.

</comment></comment></comment><comment><USER15> It's been a (long) while. Is yum still painfully slow?

<comment><USER16> I would say it has not been slow in the last few distros. I really like the delta downloads (it only downloads the changes and not full programs). It is generally a very nice distro to work with.

<comment><USER17> It seems to me that the delta thing has made updates slower, not faster. I have a reasonably fast network connection and a P4 CPU; maybe with a slow connection and a fast CPU the equation works out better with deltas. But I imagine the real advantage of using deltas is server-side, not client-side.

Deltas or no deltas, apt feels significantly faster, but yum isn't slow enough to be a real problem for me.

<comment><USER18> Delta downloads are slower if you have lots of bandwidth or have a local rpm source (squid or a local mirror). You can easily disable deltas.

Be careful: apt is deprecated. aptitude has been its replacement for a while now.

</comment></comment></comment></comment><comment><USER19> Python 2.7 and D support. Nice!</comment>


Ask HN: Who is the biggest tech celebrity that you know of who comments on HN? - <AUTHOR> I thought Richard Stallman commented here occasionally, but now taking a look for his profile I can't seem to find it. <comment><USER2> Alan Kay has been known to post here[1].

He hasn't posted in a long time, but rtm has also been on here[2].

Walter Bright is a relatively frequent poster[3].

[1]:[https://news.ycombinator.com/threads?id=alankay1](https://news.ycombinator.com/threads?id=alankay1)

[2]: [https://news.ycombinator.com/threads?id=rtm](https://news.ycombinator.com/threads?id=rtm)

[3]: [https://news.ycombinator.com/user?id=WalterBright](https://news.ycombinator.com/user?id=WalterBright)

<comment><USER3> Sorry, who is "rtm" in this context?

Robert Tappan Morris is the only guy I can think of with those initials, and despite the worm he accidentally unleashed on the Internet many years ago, I wonder if he would try to keep a lower profile than being here on HN.

<comment><USER2> Yes, rtm is Robert Tappan Morris. He is - as I understand it - one of the co- founders of Y-Combinator[1], so it would be natural for him to have an HN account. Note though, that he hasn't exactly been a prolific poster here.

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

</comment></comment></comment><comment><USER4> Probably the Stripe brothers, or now @ayw

<comment><AUTHOR> Who is @ayw?

<comment><USER5> Alexander Wang of scale. "was recognized as Forbes 30 under 30" [https://scale.com/press](https://scale.com/press)

<comment><USER4> Alexandr _

</comment></comment></comment></comment><comment><USER6> Brent Ozar. Don't know if he's a celebrity but people in my workspace sure do know him.

<comment><USER7> HAHAHA, tell the people in your workspace I said hi.

</comment></comment><comment><USER8> Scott Hanselman and I'm pretty sure Jeff Atwood too.

</comment><comment><USER9> Wozniak</comment>


Bluetooth Low Energy WarDriving 101 - <AUTHOR> https://www.davidsopas.com/ble-driving-101/ <comment><USER2> This is interesting and has potential, but right now it's just getting the hardware going with a better antenna. It'll be much more interesting to see what he finds over the course of a month or so.

</comment><comment><USER3> So the idea would be to see how easy it is to hijack these devices wit driveby attacks?

<comment><USER4> I'd think passive data collection would be more interesting (for nefarious purposes), considering that BTLE is widely used for sensors and in particular for sensors that record very personal data like heart rate.

<comment><USER5> > I'd think passive data collection would be more interesting (for nefarious > purposes), considering that BTLE is widely used for sensors and in > particular for sensors that record very personal data like heart rate.

What nefarious things can you do with knowledge of someone's heart rate though?

<comment><USER6> Spoofing HR and power telemetry for opposing running/cycling/triathlon teams. I'd send it slightly low, say 3-5bpm, so the target overexerts themselves.

</comment></comment></comment></comment><comment><USER7> There is much better hardware out there. The Ubertooth devices can pick up BLE, and can also plug into basically any antenna you want. It's been a while since I played with it, but a few years ago my ubertooth was grabbing LAPs without difficulty. It's not a dirt-cheap device (150$ all in) but is open and available from a variety of sources.

[https://github.com/greatscottgadgets/ubertooth/wiki/Capturin...](https://github.com/greatscottgadgets/ubertooth/wiki/Capturing- BLE-in-Wireshark)

</comment><comment><USER8> Would this process also work for WiFi usb dongles, which also operate on 2.4GHz?

</comment><comment><USER9> What are thoughts on what one could potentially achieve with connectable devices?

<comment><USER10> Skynet

</comment></comment><comment><USER11> David: If you are reading this, your site has very annoying "smooth scroll" that breaks scrolling for all mac users and also breaks the "back" shortcut on mac trackpads. Would recommend removing this: [https://www.davidsopas.com/wp- content/themes/blg/framework/j...](https://www.davidsopas.com/wp- content/themes/blg/framework/js/SmoothScroll.js)

<comment><USER12> Not all mac users - it is working just fine for me. (Chrome 63.0.3239.84, High Sierra)

<comment><USER13> Broken for me - Chrome 63.0.3239.108, Sierra.

<comment><USER14> Broken for me - Chrome 63.0.3239.84, Sierra.

<comment><USER15> Broken for me - Chrome 63.0.3239.84, Sierra</comment></comment></comment></comment></comment>


Bug Report 949446: "i can see all source code of all projects" - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=949446

<comment><USER3> I hope in a decade or so, someone will come to Microsoft forums and informs that the source code of windows doesn't seem to be visible on their github account and asks if they could fix this.

<comment><USER4> I think it's more likely that Windows source code will be available on GitHub in 10 years.

<comment><USER5> Maybe they'll release old sources for historical / nostalgic reasons - <USER2> same reasons for id Software to open source Doom and other classic games.

<comment><USER6> They did with MS-DOS.

I don't understand why not most old software (OSes, programs, games) aren't commonly made open source though, it's not as if anyone is making money with Windows 95 these days.

<comment><USER7> Most cited reason I've seen is the patents/copyright mess. Just look at how System Shock 2 is handled for example. Patches being anonymously contributed by a group/person that is said to have access to the source.

There's also the situation with the lost source code. For example, as I've understood it, the only reason the Dark Engine source code became available were due to someone finding it in an old Dreamcast SDK.

</comment></comment></comment></comment></comment><comment><USER8> They have a wide open wiki too, lots of interesting bits in there, check it out [https://wiki.mozilla.org/](https://wiki.mozilla.org/). Some highlights -- Release Engineering [1], Meeting Minutes [2], Security [3], Reference Platforms [4], etc. Want to check out their puppet configuration management code base, well you can do that too [5]. Personally, I love how large organizations open up their configuration management code, as it serves as a nice example to learn from, Wikimedia does the same thing [6]. I have spent hours looking through these repos to see how they implement various puppet features.

[1] [https://wiki.mozilla.org/ReleaseEngineering](https://wiki.mozilla.org/ReleaseEngineering)

[2] [https://wiki.mozilla.org/Community_Calendar](https://wiki.mozilla.org/Community_Calendar)

[3] [https://wiki.mozilla.org/Security/](https://wiki.mozilla.org/Security/)

[4] [https://wiki.mozilla.org/ReferencePlatforms](https://wiki.mozilla.org/ReferencePlatforms)

[5] [http://hg.mozilla.org/build/puppet](http://hg.mozilla.org/build/puppet)

[6] [https://gerrit.wikimedia.org/r/#/q/status%3Aopen+project%3Ao...](https://gerrit.wikimedia.org/r/#/q/status%3Aopen+project%3Aoperations/puppet,n,z)

</comment><comment><USER9> Newbie questions are good. Let there always be a lot of them.

<comment><USER10> Well, my turn for a newbie question. Surely they don't share 0day vulnerability fixes until after they are released? So they don't really share everything?

<comment><USER11> There is a "security sensitive" flag that can be set on a bug, and then only certain privileged users can see it. Such a bug will be made publicly visible once it is fixed and the fix makes it into a released version of Firefox and a certain amount of time passes.

Full details here: [https://www.mozilla.org/en- US/about/governance/policies/secu...](https://www.mozilla.org/en- US/about/governance/policies/security-group/bugs/)

</comment></comment></comment><comment><USER12> Even though it is quite funny and a little cringy to know that some people don't know what Open Source is - it is not a new ticket - been posted in December 2013.

</comment><comment><USER13> Of course the only stupid comment is less than two hours old now that it's at top of /r/linux (over at reddit).

</comment><comment><USER14> actually not "all" projects .. where's the DRM thingy source code?

that's something I'd like to see

<comment><USER7> You mean EME?

[http://mxr.mozilla.org/mozilla- central/search?string=MOZ_EME](http://mxr.mozilla.org/mozilla- central/search?string=MOZ_EME)

<comment><USER14> well, that's just Mozilla's response to the closed-source DRM mandatory regulation.. not the DRM thingy per-se

In Cory Doctorow words...

> _Mozilla says it isn't providing DRM; it's providing a fully open utility > that automatically fetches and installs DRM from Adobe's servers. I am > unconvinced that there is a meaningful distinction between "installing DRM" > and "installing code that installs DRM"._

By using this technique they provide DRM capabilities, without an actual implementation, or worst including blobs; but that doesn't mean that firefox does not have that "thingy" inside.. it's not there at compile-time.

[http://www.theguardian.com/technology/2014/may/14/firefox- cl...](http://www.theguardian.com/technology/2014/may/14/firefox-closed- source-drm-video-browser-cory-doctorow)

</comment></comment></comment><comment><USER15> I love those "White Knight" bug reporters, on par with the "Think of the children" crowd

Maybe you should think for 2 seconds before opening a bug report? Too hard?

</comment><comment><USER16> "I've seen everything!"

[http://fixyt.com/watch?v=IURfntimnlA](http://fixyt.com/watch?v=IURfntimnlA)

<comment><USER17> "This video contains content from BBC Worldwide, who has blocked it in your country on copyright gounds."

How worldwide.

<comment><USER16> It's a Patrick Stewart sketch, not sure from exactly what. Quite humorous though.</comment></comment></comment>


EarthGang, an otherworldly hip-hop team rooted in reality - <AUTHOR> https://www.huckmag.com/art-and-culture/music-2/earthgang-interview-dreamville-mirrorland/ <comment><USER2> Thanks for this, haven't heard of EarthGang - but so far I'm a fan.</comment>


Ask HN: Better than online dating? - <AUTHOR>

We built a web app (www.findfish.at) last week to plot single people on a map (using Facebook gender, relationship and LBS data).  The idea came to us one night when we were out in town, going through empty bars and sausage fests...
While we never thought of it as "online dating", a few people have been comparing this with LBS dating apps like Loopt.  Of course I don't agree with this because I see our app more like a fish finder for singles - we don't introduce you to a specific fish, just show you where is a good place to drop your line.
Anyway, I'm interested in some informed and unbiased views on this.  Is this app the same as online dating?  If not, do you think people would find this useful/entertaining? <comment><USER2> "Creepy" doesn't even begin to describe LBS dating apps.

<comment><AUTHOR> Totally agree - this is why we want to maintain anonymity (unlike online dating). So would you find our app "less creepy" since we only show you dots on a map (with no contact details, chats...etc)?</comment></comment>


Sophie Wilson, Acorn and the development of ARM - <AUTHOR> http://www.linuxvoice.com/sophie-wilson-acorn-and-the-development-of-arm/ <comment><USER2> I think there's a lot of fondness for Acorn, at least here in the UK but I'd like to offer a slightly more accurate history.

I was the owner of many Acorn machines including BBC B, Master, A410, RiscPC 600. The hardware, clearly designed or at least originated by Sophie Wilson was remarkable. It was robust, well designed and incredibly expandable. To this day there is not a single computer that actually made sense more than anything that Acorn kicked out. A human could learn everything about it in intimate detail without a problem.

However the software was a source of constant pain. Firstly nothing was finished initially when the Archimedes came out. The Arthur OS was apparently named as a "A Risc operating system by THURsday" because their internal OS project, apparently Unixlike, went down the crapper during development and they had to hack something up quickly so they had a minimum viable product. What I ended up with was a barely usable OS that consisted of a quick port of Acorn MOS from the BBC Master series and a naff GUI chucked on top for my £1400 investment (a hell of a lot back then and even now) that wasn't fixed properly until RISC OS 2 came out in 1989 so I sat there with a lemon for a year. After that we were stuck with a cooperatively multitasked operating system with a worldview completely different to anything else at the time or in the future. A lot of progress was made but it never had any prospects despite a lot of us clinging onto the initial investment.

Now I certainly enjoyed the platform but in retrospect, I'd have invested my money in something else back then if I knew what was going to happen.

I full respect the achievements here and more importantly the legacy (I have 12 ARM processors still in various things in my house!) but for us footsoldiers who paid up back then, it wasn't all love and happiness.

<comment><USER3> _" Now I certainly enjoyed the platform but in retrospect, I'd have invested my money in something else back then if I knew what was going to happen."_

I take your point about Acorn as a business but I used a 'lab' full of RISC-OS 2 bases A310s at College with 20Mb Rodime hard drives. We did scanning, dtp, Genesis multimedia packages &c and various home grown projects.

What else could we have bought _at that time_ for similar use cases? Not trolling, my memory of the time is hazy and I recollect being extremely underwhelmed by DOS based PCs in another 'lab'.

EDIT: flashbacks to Aldus Framemaker on Apricot PCs, Amstrad PCW spreadsheet applications being used in a theatre box office, and an early 9" screen Mac being used with some form of DTP software.

<comment><USER4> My college had an (experimental?) machine they got from Acorn that dual-booted into a 'nix OS. It got stuck in a corner and forgotten about, but if it had been a few years later I think it could have been an amazing project for them.

<comment><USER5> When I was in secondary school, we had a plain grey, all-in-one keyboard and system desktop case that had a microdrive and was connected to a hacked colour TV via a massive umbilical cord. It turned out to be a BBC Micro prototype.

</comment></comment></comment></comment><comment><USER6> The dramatisation "Micro Men" [https://en.wikipedia.org/wiki/Micro_Men](https://en.wikipedia.org/wiki/Micro_Men) covers some of the early history here, including the super-rapid creation of the BBC Micro and a cameo by Sophie Wilson.

Risc OS was roughly contemporary with Windows 3.0 and Apple's system 7, offering a cheaper and seemingly faster system (although rather idiosyncratic in its use of the mouse menubutton and drag-and-drop instead of save dialogs). It booted from ROM in something like a second.

<comment><USER7> Micro Men is available on youtube [1] and is definitely worth a watch. The scene were one of the characters is eating noodles using multimeter probes as chopsticks made me smile.

[1] [https://www.youtube.com/watch?v=XXBxV6-zamM](https://www.youtube.com/watch?v=XXBxV6-zamM)

<comment><USER8> You may struggle to find Sophie in that film because at that time she was a man, and was Roger with the long hair (if I recall correctly). Very informative programme, some funny scenes with Sinclair driving past in his C5.

I still love my Beeb, great machines. Very well written manuals too!

<comment><USER9> The cameo appearance by Sophie is as a barmaid in a pub.

</comment></comment></comment></comment><comment><USER10> Amazing woman. She needs a knighthood.

<comment><USER11> You mean a damehood.

<comment><USER10> Pedant. But yes. The effect is the same regardless.

</comment></comment></comment><comment> the-dude Our public library had an Acorn Electron for anyone to use : I have spent many free afternoons there until my parents doubled up my savings ( at age 12 ) and I bought my own.

Around the same time I entered high school and they had a full classroom full of networked BBC Micros!

*whoami

As gadders mentioned : she should be knighted.

<comment><USER3> Going from a BBC Master to an Acorn Archimedes 310 at the College I was working in then was like going from an Apple ][ to a Mac.

Archimedes 310s(?) were in use for medical graphics applications (expanded RAM and I think I recall they had floating point units of some kind). There was also a parametric CAD application that was used by Lucas(?) for a bit. The music software Sibelius was released first on this platform having been coded in assembler by the brothers Finn for speed.

The subsequent financial and ownership history of the ARM processor design isn't as inspiring I'm afraid.

So yes gongs for MS Wilson!

</comment></comment><comment><USER11> This is ridiculous. An entire article about the creation of ARM, and only a passing reference to Steve Furber, the guy who actually designed the chip itself. Either there was an intentional bias here, or it was very poorly researched.

Here's an interview from the Centre for Computing History: [https://youtu.be/ZMEBj3FM2aw](https://youtu.be/ZMEBj3FM2aw)

<comment><USER12> I interviewed Steve Furber for a magazine feature about the ARM many years ago and he confirmed to me that Sophie pretty much designed and implemented the whole ARM instruction set in her head. It worked first time when switched on.

<comment><USER13> The way I hear it[1], she did the instruction packing on a pub napkin, while IBM were devoting quite a bit of computing horsepower to do the same thing.

[1] Vague recollections of an article in Acorn User. I'd really have to dig out those old magazines to be sure.

<comment><USER12> That wouldn't surprise me at all. And the really staggering thing is how little the ARM's design and instruction set has changed since then. The fact that you can use Peter Cockerell's 1980-something tutorial on ARM ASM even today shows how well it was designed. I put it up there with such quality- without-a-name pieces of engineering like the SR-71, the HP-12C and the Leica M3.

<comment><USER14> The SR-71 was so far ahead of its time, it's a little ridiculous. Look down/shoot down capability in the mid 1960s. Synthetic aperture radar mapping. An IMU/astronavigation system almost as capable as the early GPS units of a few decades later. An airframe that actually becomes stronger the more you fly it as designed. Thermal management system techniques that weren't used elsewhere for decades. I can keep going. But basically, for almost every single system in the aircraft, the next comparable system you can find was developed at least 1 to 2 decades later.

<comment><USER12> Agreed. One of the finest pieces of engineering ever.

</comment></comment></comment></comment></comment></comment><comment><USER15> I had a series of Acorn machines over the years - I used a trusty A/410 with 200mb hard drive as my main machine right up to the early 2000s and taught myself both design and programming with it. I knew that thing inside and out.

At the time - and I still sort of do - I thought that, despite its idiosyncrasies, RiscOS was way ahead of Windows and the Mac. For example the Mac only got scaling scrollbar widgets with System 9, and the boot time was amazing. (Upgrading from RiscOS 3 to RiscOS 4 by carefully prising out and replacing a bunch of ROM chips was fun.)

In hindsight they made the right choice, but I was bitterly disappointed when the parents bought a Mac over a RiscPC. Teenaged me didn't let them forget how unhappy I was for quite a while...

Getting RiscOS ported to the Raspberry Pi was a great move, a real blast of nostalgia, but I'd love to see what a modern-day version would be like – 64 bit, great graphics, lightning fast, weird extra mouse button.

It makes me happy that their technical legacy lives on in ARM, and their educational spirit is continued with the Pi.

</comment><comment><USER16> Her WP page got me to this nice page: Which Machines Do Computer Architects Admire?

[http://people.cs.clemson.edu/~mark/admired_designs.html#wils...](http://people.cs.clemson.edu/~mark/admired_designs.html#wilson)

</comment><comment><USER5> Very timely as I am just about to build a copy of Sophie's design for the Acorn System 1 (1979).

[http://speleotrove.com/acorn/acornPictures.html](http://speleotrove.com/acorn/acornPictures.html)

[Edit: That's not my Web site BTW]

Here's a pic of me testing the sophisticated visual output system: [http://i.imgur.com/O8czwKo.jpg](http://i.imgur.com/O8czwKo.jpg)

<comment><USER17> I've got an Acorn System One under my desk (faulty), if you need it for parts let me know, my email address is my username at gmail.com

<comment><USER5> Message sent. Just in case it doesn't make it, my email address is similarly my username at the same place.

</comment></comment></comment><comment><USER18> Interview with Ms Wilson: [http://www.computerhistory.org/collections/catalog/102746190](http://www.computerhistory.org/collections/catalog/102746190) \- interesting throughout.

</comment><comment><USER19> Even if you have an Intel-based phone in your pocket, it probably has ARM cores in it too. They get everywhere :-)

<comment><USER20> Are you sure about that? (I hear they use low-end x86 cores and ARC cores but I haven't heard about ARM. ARC in general is very hackable while ARM is not hackable at all, so those rumors made sense to me.)

<comment><USER21> A lot of flash media controllers use an arm core, for example. Also, Intel uses ARM's graphics in some of their low power consumption chips [2]. Because ARM chips sip power so well, you find them in some really surprising places.

[1] [http://www.bunniestudios.com/blog/?p=3554](http://www.bunniestudios.com/blog/?p=3554)

[2] [http://techreport.com/news/27878/atom-x3-chips-target- cheap-...](http://techreport.com/news/27878/atom-x3-chips-target-cheap-phones- and-tablets-feature-arm-graphics)

</comment></comment></comment><comment><USER22> It's historically relevant that at the time of those remarkable accomplishments Sophie was named "Roger". And this is an article about history, isn't it?

<comment><USER23> What relevance do you see? Certainly seems to have no relationship to the topic at first glance, but your perspective may enlighten.

<comment><USER24> Interesting, certainly, to find out that a technically accomplished womaan is actually transgendered. It is also interesting (and perhaps relevant) to know that she accomplished these things in an environment where she was percieved as male, and therefore had none of the friction and other problems or issues that might be encountered by women in such a male dominated field. It's great that she was able to keep her role, and was accepted as a woman afterwards, as well.

It also seems to be more likely (than in other fields) to find trans woman in IT, but I worry that this is simply confirmation bias at work? I wonder if there is any research on the relative statistics of trans folk in the IT industry?

EDIT: Thinking about it, perhaps it is just that, as with the GP comment, people are more likely to bring the fact up in a field like IT, where 'facts' are held as more important, and in other areas it would simply be ignored or not mentioned?</comment></comment></comment>


iPad gets Flash yet again with iSwifter app (hands-on) -- Engadget - <AUTHOR> http://www.engadget.com/2011/03/10/ipad-gets-flash-yet-again-with-iswifter-app-android-version-com/

<comment><USER2> This is almost starting to get comical.

Apple has sold bazillions of iPads. Do people _really_ think having Flash support is the missing link to even MORE iPad sales?

Note to Adobe: the web has plenty of good content that does not require Flash. At this point, with NO viable mobile Flash option the Internet has pretty much routed around your suckage.

Flash is in its death throes. Yay.</comment>


Rules Have Been Rewritten: 21st Century Entrepreneurs are Different - <AUTHOR> http://www.ft.com/cms/s/0/bb4e8992-33b5-11e0-b1ed-00144feabdc0.html#axzz1DVjX6qS6

<comment><USER2> Content is behind a login wall, here's the text:

FT.Com / Columnists / Luke Johnson

Entrepreneurs of the 21st century are different. The world of business has changed dramatically since I entered it in the 1980s, and the rules of the game have been radically rewritten.

An important factor has been the all-pervading influence of the internet. A high proportion of start-ups are exclusively online or, at least, dependent on the web. Various consequences flow from this digital revolution that affect the very nature of a business. It means you can test an idea quickly and cheaply and, if the trial does not work, you can reinvent it or just shut it down. Thus feedback is much more rapid and failure is much less expensive than it used to be. I would guess that most young entrepreneurs have experimented more than we would have done at their age.

Online, all businesses are potentially international. This helps new entrepreneurs think about overseas opportunities from the beginning. The march of globalisation fits with this attitude. It makes sense to build for a world market if you can. A company such as London-based card printing specialist Moo.com[1] was designed to serve countries outside the UK from its early days.

Indeed, the word "scaleable" only came into common usage about a decade ago, as did the phrase "going viral". But what this means in practical terms is that a 26-year-old such as Mark Zuckerberg can create a 500m-strong community with Facebook – employing just 1,000 staff. Facebook is also an example of how investors are willing – in certain circumstances – to back projects that have minimal revenue, following a belief that a lucrative business model will emerge in due course, as it did with Google.

Every young company now adopts social networking as one of its prime marketing tools. An understanding of how to use Facebook, Twitter, Foursquare and the rest is critical to the success of almost any brand appealing to the early- adopter crowd. The rapid embrace of each new wave of technology has become the new normal for all real go-getters. Things used to evolve much more gradually.

Start-ups are far more likely to be undertaken by graduates than they used to be. In the past six years in the UK, there has been a 46 per cent jump in the number of graduates describing themselves as freelance or self-employed. I am sure that trend will continue, partly because comfortable jobs are much harder to come by. Of course, many more people attend university now; yet when I left Oxford, it was seen by many as "wasting" a degree to want to create a business.

Female entrepreneurs are much more common than in the past, with almost one in three UK start-ups in 2009 founded by a woman. I suspect that ratio was more like one in 10 a couple of decades ago. Now women are much more confident and ambitious in their careers, and there are plenty of role models of high achievers in the workplace. I currently back two companies run by women – 10 years ago it was none.

Generally, the entrepreneurial universe is more diverse than ever. Ethnic minorities were always over-represented (relative to the general population) among the self-employed, because of culture and prejudice. But my observations are that the backgrounds of business founders in 2011 are more heterogeneous than ever. Drawing from such a varied gene pool can only be a good thing and brings a much broader experience to the fray.

Most of these developments are positive – economically and socially. There are more entrepreneurs, more diverse entrepreneurs, better educated entrepreneurs, more digital and more collaborative entrepreneurs. I approve of each of these advances. Yet I worry about one aspect of all this enterprise: job creation. Many of these businesses need few staff – their whole philosophy is to use computers to automate everything they can. And frequently they subcontract abroad those elements that require much labour input. Emerging tech and service companies do not generate well-paid, high-skill employment on the same scale as industrial concerns once did. We shall need a heck of a lot of Generation Y entrepreneurs to cure the crisis of worklessness in the west.

email@example.com[2]

The writer runs Risk Capital Partners, a private equity firm, and is chairman of the Royal Society of Arts</comment>


Ask HN: Non-tech founders who learned to code, what products did you make? - <AUTHOR> Would be great to know interesting stories too. What you learned in the process? would you advise the same to others in retrospect? etc.<p>I wanted to collect stories from products makers in the wild apart from the popular ones like Instagram. Doesn't matter if the products ended up being successful on a large scale. Just something that you were proud of creating. <comment><USER2> Curious stories you've found already...I don't know the Instagram one.

<comment><AUTHOR> Well, apparently the instagram founders learned to code to get the first version out.</comment></comment>


Building Robust Systems (2008) [pdf] - <AUTHOR> https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/robust-systems.pdf <comment><USER2> There is this video[0] on the subject matter.

[0]: [https://vimeo.com/151465912](https://vimeo.com/151465912)

</comment><comment> Fire-Dragon-DoL Isn't the premise a bit wrong? Sure Internet scaled, but with a lot of problems over time. Like any system, obviously, just pointing out that all big systems had big hiccups. Most engineering problems have fixed constraints, but in software those constraints are ever changing.

</comment><comment><USER3> I love this paper.

</comment><comment><USER4> I love this paper too.

</comment><comment><USER5> > However, I am considering an even more general scheme, where it is possible > to define what is meant by addition, multiplication, etc., for new datatypes > unimagined by the language designer

So, um, like this?

        signature RING =
        sig
          type t
          val + : t * t -> t
          val * : t * t -> t
          val ~ : t -> t
        end

> Extensible generic operations are not for the faint of heart. The ability to > extend operators after the fact gives both extreme flexibility and ways to > make whole new classes of bugs!

This is _precisely_ why parametric polymorphism is superior to ad-hoc polymorphism as a way to enable programs to work in previously unanticipated situations. Don't work with concrete use cases, work with the minimum abstract requirements that allow your program to work!

> On the other hand, some mutations will be extremely valuable. For example, > it is possible to extend arithmetic to symbolic quantities.

So, for example, like this?

        functor PolynomialRing (R : RING) : RING =
        struct
          type t = R.t list

          fun xs + nil = xs
            | nil + ys = ys
            | (x :: xs) + (y :: ys) = R.+ (x, y) :: xs + ys

          (* define multiplication and negation too... *)
        end

<comment><USER6> I don't think that ML-style type systems address the fundamental problem that Sussman is trying to articulate in this note.

I'll try to explain.

Your definitions of Ring and PolynomialRing are incomplete because neither specifies the appropriate set of axioms. Because you do not specify those axioms, your type signature is underspecified. As Sussman puts it, "It is probably impossible to prove very much about [the] program" (at least, without inspecting the implementation itself).

To give a concrete example, the type signatures of Ring and CommutativeRing are the same in System F. And as Sussman puts it, "a program that depends on the commutativity of numerical multiplication will certainly not work correctly for matrices."

Now, this doesn't so much matter for human-written code, because us humans will implicitly fill in the details and never pass a mere Ring into an algorithm that expects a CommutativeRing, even if the two types are structurally identical. However, this _does_ matter a lot if you want to use the structures of types (or their programs) to direct automated program mutation/construction.

And automated program mutation/construction is exactly the sort of thing that this note is about ("The most robust systems are evolvable").

Of course, there do exist type systems which fix this problem by allowing you to specify the axioms to which a Ring or CommutativeRing must conform. But using those systems is a crap load of work, requires a PhD's worth of effort to become efficient at, and of course now you have to do full-blown theorem proving. Which, IMO, introduce the same "brittleness" that Sussman talks about at the beginning of the essay". Data propagation and decorated values are Sussman's proposed alternative, from what I can tell.

So 1) it's true that type theory provides one solution to Sussman's problem. But that type theory is something much more expressive than System F. And 2) given the difficulty of using those systems (eg CIC) in practice, I think Sussman's proposed alternatives are worth seriously considering.</comment></comment>


Password Security The Right Way  - <AUTHOR> http://www.stormpath.com/blog/password-security-right-way <comment><USER3> No.

<http://codahale.com/how-to-safely-store-a-password/>

It's really not more complicated than this. You can use scrypt instead of bcrypt if that makes you happy. The secret crypto keys in separate storage locations stuff is silly. Get the basics right.

<comment><USER4> BCrypt (level 3) is getting the basics right. Levels 4 and 5 are techniques beyond the basics used to minimize potential brute force attacks, which _are_ an issue, depending on the attack target (read the Verizon report referenced by another post on this page).

Don't think for a second that certain government agencies can't brute force a BCrypt-based password hash, especially given they will know the cost factor and salt. If the hash is encrypted, and then chunked, if an attacker doesn't have the constituent encrypted chunks and/or the encryption key _for a valid time frame_, the possibility of a brute force attack with modern computing power is almost impossible.

While you may not care about such concerns, some of Stormpath's government agency customers do, and so we provide these additional safety measures. That an average website can benefit from them is icing on the cake.

<comment><USER3> You feel that you're protecting password hashes from government sponsored attackers, and yet you're iterating SHA2 as your password hash?

<comment><USER4> Depends on the customer - if it is a government agency and SHA2 is mandated for their own passwords (per NIST standards), we comply (with a huge number of iterations based on CPU/GPU target specs). Additionally, we automatically increase iterations over time as CPU/GPU targets change - something a customer never needs to worry about (which is nice). Otherwise BCrypt or SCrypt is used for most customers.

It seems like some of the finer points of your concerns aren't being covered in this thread (e.g. # of iterations, if sufficiently high, will probably address your GPU concerns). Unfortunately for me, I can't read Hacker News all day and must move on, but if you'd like, definitely give us a call at Stormpath and we'd be quite happy to geek out and talk through the all of the details. (And I apologize if any of this came across as negative - no coffee today I guess).

</comment></comment></comment></comment><comment><USER5> I would be very skeptical about dealing with this company...

Level 2 ask for a CSPNG to be used to generate the salt. Why? Given that the salt is assumed to be a piece of public knowledge when attacking a system like this there's no need for it to be output from a CSPNG as there's no concern about a random number generator weakness as an attack vector.

Level 3 it's not clear if bcrypt/scrypt are used or just some SHA iterations. There's a difference between the two.

Levels 4 and 5 don't seem to provide much additional security over getting the hashing right. Also, there's an awful lot of 'we do secret stuff' that worries me.

And specifically the claim in part 5 that all the stores would have to be compromised seems erroneous to me. Suppose I compromise one store and I have part of the hash, I can still run a password cracker and compare with part of the hash I have. Sure, there's some error there but I can then take the guessed password and try it to see if I got it right.

<comment><USER4> Great questions.

With regard to CSPNG, this SO post answer is good: [http://stackoverflow.com/questions/536584/non-random-salt- fo...](http://stackoverflow.com/questions/536584/non-random-salt-for-password- hashes)

As for bcrypt/scrypt vs iterations, there is a difference, but it's minor. Bcrypt is not demonstrably any more secure than SHA-512 for example - <USER2> difference is in computation time (the Blowfish key schedule is _slow_ by nature). With enough iterations (1 million? 10 million? It depends on your CPU/GPU architecture targets), the same effect of slowing down the attacker is achieved. Increasing the number of iterations (and using the output as the next input) is similar to increasing the BCrypt cost factor. You just have to know your target threshold and pick a number accordingly.

Your summary of Level 5 is not quite right - Level 5 is about storing separate chunks of ciphertext - not chunks of the hash's MCF text (MCF = Modular Crypt Format). You can't even start to brute force a hash if you can't decrypt the ciphertext to begin with.

Finally, Stormpath doesn't do anything 'secret' and we go through diligence on these matters with our larger customers. We're happy to divulge all of our techniques (e.g. how we use multi-factor authentication, how we secure firewalls, etc). That information is just outside the scope of a password- related blog article.

<comment><USER3> That Stack Overflow post doesn't refute John Graham-Cumming's point, which is that the cryptographic strength of a salt doesn't change the security of a secure password system. The salt is there to randomize the hashes; it doesn't resist active attacks. People that obsess on the security of their salt values misunderstand the design of secure hash systems.

Bcrypt is demonstrably more secure than SHA-512. You can look to the Openwall GPU password cracking project for illustration of how. It is easier to speed up SHA2 on a GPU than it is to speed up bcrypt. Scrypt is markedly different from SHA2; it's designed specifically to be difficult to optimize with GPUs (a property bcrypt has only accidentally at present).

Moreover: the best practice for using SHA2 as a password hash is to use PBKDF2, which is _not_ simply iterating SHA2 (you can learn more about PBKDF2 on Wikipedia). Iterated SHA2 is a fine answer for existing applications that need the simplest possible path to something better than a salted hash, but it's not a good answer for new designs.

Your responses to both these points appear to be materially wrong.

</comment></comment></comment><comment><USER6> Can we someday move away from password on the server, at least as an option? Give me the option of setting up my account with a public key instead of a password, and logging in by demonstrating that I have access to the corresponding private key.

One might object that this would mean I could only access my account from computers and devices where I keep a copy of my private key. True--but I'm ALREADY in that position for most sites, because I use long random passwords that I manage with a password manager running on my computers and devices.

<comment><USER7> You mean for web apps? Lotus Notes has done that since forever. The Notes password is just the seed of a decryption key for your user ID file; getting the password correct decrypts the keys, both private and secret (used for shared symmetrically-encrypted document fields); the actual server login is PKI. (The Domino web password for HTML apps, when enabled, is a standard hashed-values type, though.)

</comment></comment><comment><USER8> The hey girl crap needs to end. Now.

</comment><comment><USER9> While compromized passwords are one problem, leaking your data is bad in so many other ways as well. Yet almost all focus lies in obfuscating passwords to prevent extraction in the case of a breach. We don't talk as much about securing addresses and SSNs and other sensitive data.

Well guess what, if the attacker has access to your system he can just install a password logger and all your obfuscation would be in vain.

All extra security is added value, sure, but focus on other areas wouldn't hurt.

<comment><AUTHOR> Totally Agree! I wanted to keep the scope for this narrow so it didn't turn into a total beast. The guys over at Cloud Passage have some great content on server security (<http://blog.cloudpassage.com/>) that I think is really well informed, and we're going to do a followup on backend security.

</comment></comment><comment><USER10> This article definitely seems like an overkill. If you are using bcrypt or scrypt properly, what else is needed other than common sense of course.

</comment><comment><USER11> Something the article didn't cover but should is the upkeep over time of whatever algorithm you use. We can argue about todays algorithms. But what do we do when those algorithm are superseded? Or when the minimum complexity factor needs to go up. If you're an app dev or devops, will you know when that happens and how will you update?

</comment><comment><USER12> Also realize that you don't have to build every component of your website yourself - and unless security is the focus of your business, dealing with storing passwords might not be the best use of your time.

We built dailycred.com to handle exactly these sorts of issues for you.

</comment><comment><USER13> Every time I read "military-grade" on one of their pages, my head twitches. Since your whole product hinges on HTTPS, you might want to tweak a couple things:

1\. Disable TLS compression. (it's currently on)

2\. Disable CBC-based ciphersuites. (they're currently enabled, or higher priority than RC4)

3\. Get more than one IP address to host your site, preferably distributed to a different part of the world. It seems you've got two separate amazon IPs, one for www.stormpath.com and one for stormpath.com; i'm not sure if those are anycast addresses but I doubt it. I _really_ hope they're not in the US East/Virginia zone, since it goes down about once a year (which makes your 100% availability guarantee for enterprise customers impossible)

4\. Your main cert has SANs for stormpath.com, www.stormpath.com, api.stormpath.com, ci.stormpath.com, repository.stormpath.com. I know that makes it easier to manage, but when one of these hosts gets compromised and its private key stolen, the whole kit and caboodle is compromised.

5\. Implement DNSSEC and IPv6. Your public sector clients will get a kick out of it.

<comment><USER3> You don't need to disable CBC ciphersuites. Implementing DNSSEC and IPv6 will do approximately zero for your security, too.

<comment><USER13> True, you can just give RC4 higher priority. Implementing DNSSEC/IPv6 is just meant to give managers who are obsessed with "military-grade" anything a hard- on.

</comment></comment></comment><comment><USER14> Too offensive;didn't read</comment>


US signals military escalation in Iraq and Syria - <AUTHOR> https://www.wsws.org/en/articles/2015/10/26/iraq-o26.html <comment><AUTHOR> FTA: "The operation and the death of Wheeler shattered the repeated claims of President Barack Obama that the current US intervention in Iraq would not involve direct American combat actions. But Carter, far from presenting the Kirkuk incident as an aberration, unconditionally defended the operation and seized on it as an opportunity to assert the intention of the US military to intensify its operations in Iraq.

"There will be more raids," Carter said at Friday's Pentagon press conference. Confirming reports that he had personally authorized the raid, he added that American forces "will be in harm's way, there's no question about it." He further declared that the US was "committed to enhancing the support we provide" to anti-ISIS forces in Iraq."

The US has been engaged in armed conflict or outright war for my entire life. War is normal. The death of our soldiers and the death of uninvolved foreigners is normal. The sycophantic jingoes of the war press are normal. The stuffy bureaucratic announcements of more war in the future are normal. The resigned rescinding of promises to withdraw are normal.

I hope that by the time I die, this endless war will have ended.</comment>


Accessing a MySQL database from Node.JS - <AUTHOR> http://devthought.com/blog/2009/12/accessing-a-mysql-database-from-nodejs/

<comment><USER2> I don't find it natural to access data via callbacks, especially since data is usually connected (e.g. you need to query for the user, then the settings and then the item):

The node.js documentation also illustrates an example of this when doing sys calls:

       posix.rename("/tmp/hello", "/tmp/world").addCallback(function () {
        posix.stat("/tmp/world").addCallback(function (stats) {
            sys.puts("stats: " + JSON.stringify(stats));
        });
       });

vs.

        posix.rename("/tmp/hello", "/tmp/world").wait();
        var stats = posix.stat("/tmp/world").wait();
        sys.puts("stats: " + JSON.stringify(stats));

As I understand it the event loop in node.js does not get blocked by calling wait().

<comment><USER3> It depends what you are doing. If you are implementing some web application I can imagine that this callback style would be very handy.

For example, suppose you have an email application and on the page there's an area with contact information. You could fire off the SQL query to get the contact database and have the callback populate the contact information box on screen when it's ready.

The rest of your program just carries on doing whatever it needs to do: which may be nothing... the entire program can be event driven and waiting for events to happen (like the user clicking somewhere).

This style of programming takes a little getting used to, but you don't need to have some linear piece of code going around checking to see what needs to happen next.

If in the example of contact information you need something else to happen once the box is populated then I imagine you'd fire some event that tells your program what to do.

<comment><USER2> I agree on the usefulness, but I don't think it would produce more elegant code and I don't think the event driven paradigm should be used for everything (even if there are some advantages).

This said, event driven programming is quite natural when doing network or GUI programming and most good network and GUI frameworks are event driven. Most database libraries or system libraries aren't.

</comment></comment></comment><comment><USER4> I guarantee that we'll see people developing applications in JavaScript that run client side, using this under the hood, and they will have no idea how bad an idea this is from a security point of view.

There are good reasons that the classic website setup has the database on a different machine than the webserver firewalled in such a way that the database cannot talk directly to machines on the internet. As time goes by and attackers improve in sophistication, those reasons are becoming better, not worse.

</comment><comment><USER5> Tangent: The theme of the blog is extremely cool. Been playing with the movable clouds for a few minutes now-where'd you get the idea for that?

<comment><USER6> Except the fact that the contrast on the actual content is bad. Darker backgrounds and lighter text has been proven to get read less (60+% more if it is lighter background and darker font). The clouds are cool but the contrast is not.

This type of contrast is good for entertainment (movies, video games etc) not code samples. Even if you have to go with a dark background and light text make sure it is not extreme. A good sample of a dark site that is contrastually(I made that up) readable is : <http://www.smashlab.com/> OR add a 'high contrast' button that you can click such as on: <http://www.merixstudio.com/>

Trust me when you get older than 27 you'll thank me.

</comment></comment><comment><USER7> I foresee a series of posts, "_____ from Node.js", where the blank is filled with any mundane technical action that is necessary to build web sites. Each one, like this one, will demonstrate how writing Javascript in continuation- passing style is the way to do things in a "non-blocking/evented" manner.</comment>


Earth Just Narrowly Missed Getting Hit by an Asteroid - <AUTHOR> http://www.popularmechanics.com/space/a22619/earth-narrowly-missed-by-asteroid/ <comment><USER2> >And even if NASA was on track to meet that goal, they still would have missed 2016 QA2, which is only about 50-100 feet. Asteroids of this size are so small that there's almost nothing we can do to detect them. And they can still cause a lot of damage. The Chelyabinsk asteroid, which exploded over Russia in 2013, damaged multiple buildings and injured over 1500 people. That asteroid was only about 55 feet wide.

So it was a city destroyer at best, let me know when it's a continent/planet killer.</comment>


ASK HN: Are there code standards for using Pandas DataFrames in production? - <AUTHOR> I'm working on a Python project where some modelling has been implemented using Pandas. I'm helping to add an API over the modelling logic, and when I see a function that accepts a dataframe (sometimes many dataframes), it feels like it's not obvious what that function requires without reading through all of the function's code (e.g. which dataframe columns it requires, maybe even their types, etc.).
Requiring series doesn't seem like the right thing either because sometimes a function might require a few columns whose rows are related.
Is there an accepted way to define these sort of functions that lets the caller to easily understand what columns (or even types) are required? Or am I missing something obvious and this isn't a real problem?
I can think of a few ways to do it (mostly thinking decorators) but it'd be awesome to hear what people are doing in the real world. <comment><USER2> Sounds like you're mostly interested in provenance and lineage. Pandas doesn't really help with that and I haven't seen any serious efforts to build on top of pandas for it.

If you want to roll code, you could use decorators or overload pandas methods like joins to build a provenance graph.

If you don't want to roll code, you can treat the transform as a black box and define your inputs and outputs in terms of database/store tables.</comment>


Ask HN: Which salary bracket are you in? - <AUTHOR> I am not looking for exact figures (as that would be pretty private) but do you earn above average, below average or exceptionally well?<p>Could you also please define approximate ranges for those tags? <comment><AUTHOR> It piqued my curiosity after seeing a lot of threads related to worker protection, universal income, healthcare, unions, wage gap, and stuff about wealth.

I have seen fair bit of people earning average or below average here. Some very young ones. Some old. Some struggling to pay for healthcare. But there is also opposite spectrum.

</comment><comment><USER2> For engineers, we built a website with a list of pay ranges by company at [https://levels.fyi/charts.html](https://levels.fyi/charts.html)

We also have medians across various cities: [https://www.levels.fyi/Salaries/Software-Engineer/San- Franci...](https://www.levels.fyi/Salaries/Software-Engineer/San-Francisco- Bay-Area)</comment>


Please Put the MacBook Air Out of Its Misery - valiant-comma https://gizmodo.com/please-put-the-macbook-air-out-of-its-misery-1830027302 <comment><AUTHOR> The Air might be outdated, but it's still the only Apple notebook left with a non-glare screen and a usable keyboard.</comment>


Microsoft Excel: Revolutionary 3D Game Engine? - <AUTHOR> http://www.gamasutra.com/view/feature/131968/microsoft_excel_revolutionary_3d_.php?print=1 <comment><USER2> Besides the author whipping out the old, apocryphal 'QWERTY is the worst layout on purpose' factoid, very cool. The thing in Excel that always made my eyes bleed was nesting IF statements: the else block is passed as the second argument, leading to ridiculous bracket requirements. I suppose the way the devs would have you do it is put one IF per cell in some hidden cells, and SUM the results.

In short, Excel is powerful, but requires contorting your brain to get stuff done. It's like MS tricked the world into teaching millions of non-technical people BrainFuck.

<comment><USER3> IF as an expression isn't brainfuck, it's functional programming!

<comment><USER2> I just wish it had syntax like JS promises, so the closing brackets weren't such a mess...

</comment></comment></comment><comment><USER4> There are some interesting bits in the LtU discussion of this article a few years ago, though I wish it would've continued a bit longer: <http://lambda- the-ultimate.org/node/2710>

And, an HN discussion of a more negative article about Excel as a programming environment, focusing on the fragility and bug-proneness of Excel models that have become widespread in the financial sector: <https://news.ycombinator.com/item?id=5198187>

</comment><comment><USER5> I have previously used a spread sheet to: implement a Runge–Kutta integrator and simulate a pendulum, and implement a back propagation neural network.

Both times I had previously tried and failed to implement them in a proper language. Errors were had to debug in a batch process (loss of energy in pendulum, no learning in the NN). Excel/OpenOffice was great for being able to instantly propagate state through N steps, whilst simultaneously debugging the transition function of said state. Once my formulas were correct I translated it to a better language of course.

</comment><comment><USER6> Thought the OP meant the actual 3D game engine in Excel 97.

Check out <http://www.youtube.com/watch?v=-gYb5GUs0dM>

One of the last easter eggs!

<comment><USER7> was about to post this!

</comment></comment><comment><USER8> Actually Excel VBA is even more powerful - one can load the DirectX library and then do "real fast" 3D :D

</comment><comment><USER9> This paradigm of data streaming trough operations instead of a sequence of instruction operating on data is called dataflow programming : <http://en.wikipedia.org/wiki/Dataflow_programming>

</comment><comment><USER10> People have been kind of abusing Excel since at least the mid-90's, using it for all sorts of things that weren't its primary intended use. I know there are several sites dedicated to games that run in Excel. Despite the slow decline of the desktop, the Microsoft Office user base is still in the 100's of millions, and with that many people you end up seeing some pretty amazing and funky stuff. I've been selling a text-to-flowchart Excel add-in (FlowBreeze) for years, so I'm just as guilty as anyone.

</comment><comment><USER11> I love this. To me it's coming full circle. As someone who felt like they graduated to programming from Excel, I often get peeved by people who use Excel like Paint with numbers. How many times have you seen someone doing calculations by hand and entering them into rows, making pretty spreadsheet pictures with colored cells, or completely ignoring the most simple functions like SUM (much less SUMIF).

Now here they have ratcheted up the complexity several degrees... and why? to paint a picture. Cue the Lion King.

</comment><comment><USER12> Spreadsheet is a great model for software.

I hope designers iterate on it more in the future, with better engineered and more domain-specific products than excel.

</comment><comment><USER13> Anyone remember the demo "Excelence by BraadWorsten Brigade" made in excel 2003 that used double buffering for animation? Really neat.

[http://www.youtube.com/watch?feature=player_embedded&v=H...](http://www.youtube.com/watch?feature=player_embedded&v=HZ6Q224UPkc#)!

<http://www.pouet.net/prod.php?which=53021>

</comment><comment><USER14> This is relevant: [http://www.digitallydownloaded.net/2013/04/interview-cary- wa...](http://www.digitallydownloaded.net/2013/04/interview-cary-walkin-man- who-made-rpg.html)

It's a turn-based RPG in Excel.

<comment><AUTHOR> That's actually what reminded me of this article.

</comment></comment><comment><USER15> Pfft... my wife used to write side scrolling shooters with self learning AI enemies using Clipper on DBase III. You can use anything to write a game if you put your mind to it.

</comment><comment><USER16> Instead of using Excel, look into reactive programming.

<comment><USER17> I'd argue Excel _is_ a reactive programming environment: just not a conventional one.

<comment><USER18> Relevant: [https://github.com/dmbarbour/Sirea#what-is-reactive- demand-p...](https://github.com/dmbarbour/Sirea#what-is-reactive-demand- programming)

</comment></comment></comment><comment><USER19> Would this be possible with Google Docs?</comment>


Is particle physics the new rock n' roll? - <AUTHOR> http://www.bbc.co.uk/radio4/bigbang/physics_rocks.shtml

<comment><USER2> im surprised they didnt track down Brian May. He has a degree in the subject :P (and a deep interest) and is a great talker/interviewee!

</comment><comment><USER3> Further down the article it says that they did, but he declined as it "isn't his field".

The BBC has this thing about the "Rock'n'Roll" simile. Last November they ran a similar item for math:

<http://news.bbc.co.uk/1/hi/education/7729010.stm></comment>


How You Lie Depends on Where You Are From - <AUTHOR> http://www.atlasobscura.com/articles/how-you-lie-depends-on-where-you-re-from

<comment><USER2> The headline oversells this a bit. At the end of the day, we have very little ability to detect lies even in a monocultural environment and it doesn't seem like we have all that much insight into cultural variations (how could we when we haven't isolated the signs in any one culture?).

</comment><comment><USER3> What's interesting to me is the following result:

 _Say you 're in a situation with two people, where one is making a statement—it might be true, it might be false—and the other person is trying to determine if that person is lying. The likelihood that you're going to make the right choice is around 54 percent —just above what you'd get if you guessed randomly_

What strikes me is that being successfully lied to would appear to be a huge evolutionary disadvantage for the individual. One would think that humans would have immensely attuned bullshit detectors, but that doesn't appear to be the case: we instead appear to be built to trust, at least most of us.

One can easily construct arguments why this is: for example, smaller groups with high trust can specialize with much lower risk. But one wonders if, in modern society, this leads to the "idiots lead by sociopaths" situations we so often find ourselves in.

<comment><USER2> Being able to lie successfully also confers an evolutionary advantage and there are almost no outward indicators most people are lying. Why would you expect any different?

What's really troubling is various "systems" offered to law enforcement and so on that do not actually make people more accurate at discerning lies but do make them much more confident in their ability to do so.

<comment><USER3> Because the majority of people are terrible liars, is why.

<comment><USER2> Maybe you should go teach the researchers who are barely beating chance at identifying lies if you're so good at it.</comment></comment></comment></comment>


A small project - need some feedbacks - <AUTHOR> http://frameworkdemos.com Hi guys, I'm a newbie here. I've started this small project. Basically, it's a free service to list all popular frameworks' demos so that users can try them on their mobile devices without looking for links around the internet<p> frameworkdemos dot com<p> I need some inputs and feedbacks from you guys (mentors, masters, gurus, jedi, etc.).<p> Thanks<p> DN <comment><USER2> It is nicely laid out and has a decent listing of mobile web frameworks. Seems like a nice starting point for developers who are trying to decide which framework to use for a new project - or for framework developers to publicize their creations.

<comment><AUTHOR> Thanks for your comment. I am planning to add more frameworks and demos. More features are coming :)</comment></comment>


Ask HN: What should I be doing to Maximize the Benefit Mankind can get from me? - <AUTHOR> All my life I was productive thinking I need to maximize my productivity because I want to maximize the benefit I can provide to mankind. I got into science because I thought that is how I personally could contribute most. Recently I am having a sort late 20s crisis. Are the chips I am helping design to improve efficiency of consumer electronics helping mankind at all? Probably not as much as I could be doing. I am wondering what I could be doing in terms of a different job or a side project to help mankind the most (or at least help me rationalize what I am doing is actually helping mankind somehow). <comment><USER2> To answer your question, instead of maximizing your output, I believe that maximizing everyone else's output is more valuable. It is also harder, otherwise someone else would have already done it.

I am very biased to answer that mathematics drives science. Advance the tools and applications follow. [1]

Here is a more heuristic take on it by Elon Musk: [https://www.youtube.com/watch?v=tnBQmEqBCY0](https://www.youtube.com/watch?v=tnBQmEqBCY0)

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

</comment><comment><USER3> 1\. Take care of yourself. Morally, physically, spiritually, intellectually. You cannot serve others without this first.

2\. Work one-on-one with another person. Someone helped you. Now you help someone else. Then another. The ego says you must impact millions. Truly, you will do more by changing one person's life. Then another. The chain reaction will take effect.

3\. Serve a small group in your community. Be a worker among workers. A friend among friends. Don't go for glory. Don't try to be the Big Cheese. Be there for service to make the organization better.

Your work can be a channel for these efforts. So can being a spouse and a parent.

Everyone wants to be Steve Jobs or Bob Dylan or Martin Luther King.

Just be a good dad. There is a universe of value in that.

<comment><AUTHOR> This is my minimum goal now, something I must do no matter where I end up.

</comment></comment><comment><USER4> I would start by understanding the polítics behind your boss or contractor. People working at silicon valley, for example, are frequently helping someone to apply an agenda that don't benefit a lot of people other than their shareholders.

<comment><AUTHOR> I am fairly sure the same applies for my company as well. Very little I can do about it, since I singed the contract I am obligated to consider the best interest of the shareholder.

<comment><USER4> It is important to think about it, because you may be helping hijack society, what would put you far behind your initial (and inspiring) intent.</comment></comment></comment>