skysight-inc/HackerNews huggingface dataset:
There is a big flaw in using browser information as an identification token in this way as browsers change.

I visit this site at least once a month and every time it picks me as 'unique'. That is because each time i've either installed a plugin, installed a font, my browser version changes every 5 days with automatic updates, installed a new browser, installed a different browser, am using multiple browsers, am accessing from my phone, ipad, work computer, etc.

This makes it useless for actually tracking people.

To make browser fingerprinting anything more than useless in tracking you need an algorithm that fingerprints but doesn't capture everything - such as how hardware-locked licensing works and Windows Genuine Advantage - you can change your soundcard or any minor device and your overall ID/fingerprint is still the same (i'm struggling to remember what this technique is called).

When reading the NSA revelations I dug through everything with an eye on wanting to know if they used browser or machine fingerprints to track users. They don't. There is enough unique information in IP address, cookies and email accounts alone.

And I bet most people who are concerned by tacking online and impressive demos like this are still using their real IP address online, still accepting cookies, etc.
Not to forget per-process fs namespace, and text-only replacement of ugly ioctls.
3. in general haskell is even terser then i like.

5. What on earth are you talking about? Conjecturing about type inference is not useful. While I may prefer some extensions to be on be default, in hundreds of thousands of lines of haskell code I am yet to see adding an extension break existing code. The worst I have seen is adding an extension slow down compilation.

In haskell you have to forget most of what you have learned in order to be successful. Otherwise you will fight the language.
I do think 2 is a real problem, but it seems Haskell people couldn't agree on the solution. Simon Peyton Jones (Haskell 98 standard editor) proposed a change but many people didn't like it.

http://ghc.haskell.org/trac/haskell-prime/wiki/TypeDirectedN...
On which sources are you basing your statements? What else could it be, if not a kind of associative/predictive/computation+memory system?

And as to the IBM effort, I think they are doing the right thing. Whatever brings us close to having the hardware that can do the job (needs to be at least on the same scale as the human brain, that features around a petasynaps of connectivity/memory)...
The code:

do
conf <- readConfigData
c <- openDbConnection

Or just

do
c <- openDbConnection =<< readConfigData
-- do something with c

Where `=<<` can be thought of an infix apply for monads.
What performance may we expect?
This is for designers, but does it feel familar?
http://vimeo.com/22053820
What performance may we expect?
Is there Linux emulation lib?
Or at least package database based on Debian sources?
That's exactly it: I've been doing freelancing since 2005 (and my wife joined in 2010), and WiseCash translates our internal tools and knowledge into something that other can use for their own benefits.

We wanted a tool that helps us know where we stand and where we are going, keep a healthy family life (we have 2 kids).

Very good point on the cashflow projection term, thank you! I will write articles around that topic and more.

I'm deeply concerned about people caught into the "rat race" and plan to share what I learned to escape that situation.

I think moving to a situation where you can decide what to work on and at which pace, is something great to have, and want to help more people reach that point.
This site uses the same code as http://browserspy.dk/ uses to identify your fonts installed. Its a flash plugin, so disabling flash will make it unable to list fonts.

Yet another reason to not use flash. Its good to know that this functionality is not built into the actual browser.
It isn't that big a deal - I worked at a startup that developed its own indicies and we got them listed in Bloomberg pretty quickly even though you could count our users on one hand.

Bloomberg want to track everything. This is the financial equivalent of saying you are now indexed in Google

If anything Bitcoin and the MtGox price is late to Bloomberg.
That's a feature, not a bug! The upper floors are part of your fitness routine.
It minimizes clutter, cause you'd have to drag something up all those stairs.
I'm sure there is no end to how they can spin this.
I'm in a similar boat- I just started using my Twitter account after creating it years ago & never following anyone.

So far I follow 4 people: Barack Obama, who tends to say the same thing over & over. Kim Dotcom, who talks about privacy issues & retweets interesting stuff on that. My email provider who almost never tweets. And a guy from my local hackerspace who barely ever tweets, too.

At one point I followed @TheWhiteHouse, but it was just BS, so I stopped.

I'll be interested in seeing where this thread goes, since I'm also interested in finding interesting people to follow- thanks for asking.
osmand, Oruxmaps, mapswithme
I'm not sure what you mean with "do notation for records", but yes, there are some problems with record notation. Lens/zipper libraries can help with that though. (Overloading record names would be sweet in any case.)

> Monads might lead to messy code due to verbose syntax.

Your example could be written `do c <- openDbConnection =<< readConfigData` (assuming there should be a `conf` in the third line). If you need multiple parameters passed like this you're right, you probably need to execute them separately and give their results names. That however can also lead to more readable code if getting the parameters isn't just a single statement.

> Many extensions, essential for productive development are out of the language standard.
There is always this discussion what "valid Haskell" is, on the one side the "Haskell Report" guys, on the other the "whatever GHC accepts for the next 10 years" section. A few remarks:

- GHC is a giant project that uses neither multi-parameter typeclasses nor existentials.

- I don't think language extensions are ever removed from GHC, just pronounced deprecated. (I don't know about such a case at least, correct me if I'm wrong)

- Heavy use of language extensions does mean GHC lock-in. It's free software, but I can still see how that could be a concern.
That's really impressive and works well. Hopefully iOS will eventually have a way to try out apps before purchasing.
Demo page [1] uses gif made from Chuunibyou demo Koi ga Shitai! [2] anime. Was it totally random choice or MediaCrush crew did it purposely (aside from showing big difference)? Apparently many geeks are after anime, but sadly overall plot-quality of them deteriorates slowly almost each year. That said, Chu2koi was actually one of better series in 2012 Q4 (with nice visual side too).

To be less off-topic: good job on making it, openness and finally shipping it.

[1] https://mediacru.sh/demo
[2] http://en.wikipedia.org/wiki/Love,_Chunibyo_%26_Other_Delusions
I previously agreed with complaints #1 and #2, though at some point over the last few years this has stopped being a problem. It's not even Stockholm syndrome, I just don't use records that much anymore. The various lens packages can help with record overloading and dot indexed fields, but without some compiler support it will remain a sore spot for people who want/need a better record system.

#5 is a fair to a point. I don't find MPTC or existential types to be useful in almost any case: I actively try to avoid both. ScopedTypeVariables, FlexibleContexts, FlexibleInstances and potentially RankNTypes and the poorly named UndecidableInstances should be standard though (imo). Some people also find OverlappingInstances and the like to be generally useful but you probably don't want to hear what I'd say about the subject.

There are plenty of other (also subjectively ugly) ways to write #3. SHE (a Haskell preprocessor) deals with it in one way, see the pigworker's idiom brackets: https://personal.cis.strath.ac.uk/conor.mcbride/pub/she/idio.... Without a preprocessor you can certainly use applicatives or some regular monad combinators to git'r'done but a little sugar could go a long ways. I'm not attached to any of these.

Lucky for us there are many languages to choose from, personal taste has proven a fickle mistress.

import Control.Applicative
import Control.Monad

data ConfigData
data DbConnection

readConfigData :: IO ConfigData
readConfigData = undefined

openDbConnection :: ConfigData -> IO DbConnection
openDbConnection = undefined

openDbConnection2 :: ConfigData -> ConfigData -> IO DbConnection
openDbConnection2 = undefined

openDbConnection3 :: ConfigData -> ConfigData -> ConfigData -> IO DbConnection
openDbConnection3 = undefined

main :: IO ()
main = do
-- it does work...
conf <- readConfigData
_c0 <- openDbConnection conf

-- how about a flipped bind?
_c1 <- openDbConnection =<< readConfigData

-- or join/fmap...
_c2 <- join $ openDbConnection <$> readConfigData

-- need two parameters? liftA2/liftM2 has been around for a while
_c3 <- join $ liftA2 openDbConnection2 readConfigData readConfigData

-- or use Functor/Applicative to deal with arbitrary numbers of side effecting parameters, longhand idiom brackets...
_c4 <- join $ openDbConnection3 <$> readConfigData <*> readConfigData <*> readConfigData

return ()
> The type of the parameter is IO String.

No, the type of the parameter is String. IO String is the type of the expression that gets that parameter when executed. There's a popular quote by shachaf, "getLine :: IO String contains a String in the same way that /bin/ls contains a list of files" that illustrates this nicely.
Me too. I find that facing that fact makes life seem more precious and valuable. And not in an, "omg time is running out!" way, but in a "appreciate this moment" way.
An even better approach would be a Bloom filter.
What was the hassle you had with using Selenium. Only the configuration?
There's now a subscribe-by-email function:

http://goo.gl/5xKj5g
Looking at the video, I think plan9 would have a potential consumer future if it had great typography and fonts.
According to specs, field of view is 23 degrees. Concept video seems to exaggerate the visible portion of AR.
Microsoft’s Latest Scroogled Attack Slams Gmail’s Email-like Ads
Benidorm skyscraper built without an elevator
A Minimalist Periodic Table, Built From Dots
Argh, it's silly that it takes some time for a membership renewal to take effect.
Thank you. From what i have gathered here in the comments, it seems that I need to look into Selenium.
Nice read! I never noticed that the 'disc burning completed' and 'installation succeeded' events use the same sound.

I like how the author is not like "I could have made so much money if I licensed it!".
Cheap premium real estate for fitness freaks :)
Either he has no feelings of guilt whatever, or he's not sleeping much at night. Also he's highly manipulative. I'd give him the sociopath handle.
Does anyone know of a centralised database of security breaches? It would be great if there were a standard (like CVEs), which included how well the breach was dealt with (eg informing public, mitigation, prevention, changes made). If there isn't one and there's interest here then maybe I'll start one.
And Google.
The number sold was partly down to politics, the fact it could only fly supersonic over sea and cost.

Whether it could have been viable from a cost perspective if it could fly more routes we'll never know.
1. Don't see the appeal.

2. Definitely agreed.

3. "readConfigData >>= openDBConnection" can be used in a simple case like your example. Cases with more arguments can use "ap" or "<*>", which are perhaps a bit ugly, but most of the time you don't need them.

5. The fact that Haskell is a living language that is improving all the time is a point in its favor, I think.
Ditto.

Also, assuming it's 51 years, that generally means I have nothing to worry about with an iPhone or (new) MacBook, right?
About Bit.ly For Feelings
Imagine the labor costs just to move in, to carry all your furniture up 20 flights of stairs...
Just shows how hard computer-generated music was, at one point in time. Today, it is ubiquitous and requires almost no technical computer knowledge.
Florida bike maker big hit in Silicon Valley
If Apple had a security breach, and it seems like a massive one given the circumstances, are they not required by California law to report it to their customers?
Me too, but I am secretly hoping Elon Musk or somebody figures out how to let this generation live infinitely via mind transplants or organ re-generation. Come onnn!!!
You're impressed they spent time keeping their cash cow alive? No offense to the developers, but there has been very little to no communication. I'm magically waiting for the guy with the best F5 time on the dashboard to get my news? Again, no offense to the developers, but there's no indication that this was not a "quick fix" by industry standards (of security) and not just "secure enough."

As usual, a dashboard of green lights does not identify uptime, as can be established by the issues people are still having with the platform.
Kids sure can run the code they wrote on their pocket computers. Write in JavaScript.
Every time I read about Plan 9 I get a little sad. Unix is so good at what it does that the better enemy of the good doesn't stand a chance.

There are lots of better alternatives to Unix out there. But with the incumbents strengths being what they are I think we'll be stuck with Unix for a long time to come.

Possibly the only thing that will change this is if it is ever deemed that the Unix model is inherently broken from a security point of view and one of these other alternatives provides a fix. Performance and conceptual models are not enough to ditch decades of investment in technology that is good enough.
They did report that there was a breach, that some personal data about developers (but no credit card info or passwords) was stolen and that they are restoring the developer center.

That's more than enough reporting. If you want a full post-mortem, that's likely not something you'd get from a public company as big as Apple
Nothing a "healthy" PR spin couldn't solve.
> If you add one more extension, you program might suddenly stop to compile.

Do you have some real examples of this happening with GHC extensions? I haven't run across one in the field.

> We need a fixed set of language extensions which are always available.

This sounds very much like a language standard. Haskell isn't much different than other languages here, though the language committee is slow to ratify generally accepted extensions into the standard. GHC at least makes them available to people who want to kick the tires. Then read about closures in Java. Look at C++11 revisions and notice that sometimes meant cutting features, even if they were previously implemented by some compilers (template exports) or prototyped (concepts).
>No offense to the developers, but there has been very little to no communication.

There's been weekly or slightly shorter than weekly updates and a 24-hour status page. Also, most key portal functionality was available not that long after the breach.

It's a little unfair to say "very little to no communication".
Wow -- when I first opened up the article, I thought "it's just a major third and an octave, how could coming up with that possibly be interesting?"

While reading about the things he did, though, I realized that I do a lot of similar things (queueing up lots of combinations, throwing instruments at a line until something works) to achieve really simple results. I'd always chalked that up to "not being that great at programming/composing/what-have-you." I guess others go through that as well. That's reassuring!
I've brought this up before, but it's a mix of everything, and all pretty bad.

> If you've ever poked around with the way that Apple's website works, you can see that the entire place is a huge mess. There's old servers running ancient (pre-2004) perl scripts alongside the brand new iCloud gear. I can't imagine how the authentication for AppleID is working as login details still work on the ancient pages (think pinstripes and glassy buttons). Depending what URL you hit, the webserver is using php3, php4, perl, python or maybe WebObjects (java).

> At one point I wrote a scraper that was targeting one of their product pages, and kept getting random, unexplainable results. It turned out that one of their product areas was behind a round-robin load balancer, with three completely different apache versions on each server. The page was dying on one but not the other two. In the end I just had to repetitively scrape until I hit a good response.

https://news.ycombinator.com/item?id=6078854
This is done in Sweden by the project Creeper[1]. People embedd images on their websites and the site list all the ip adresses, belonging to the state, that visit those websites.

There is also a similar project, mediacreeper, for IP belonging to the press [2].

[1] http://gnuheter.com/creeper/senaste
[2] http://mediacreeper.com/latest
Just curious rohu1990, did you pledge for a phone?
I have a south-facing apartment with about 110-square feet of window glass. It heats up like a sonofa in the morning.

You should consider solar screens. They cost about the same as regular window screens and are remarkably effective at keeping the heat out because they are on the outside, so the heat never enters the living space. Take them down in the fall when you start to want the heat.
Reload_Code Hackathon – Rebuilding Uttarakhand
Indeed,
But it did not require much technical computer knowledge in 1998 either.
Brilliant. Did I miss something or does the article not actually give us the sound he ended up with?
Is the Tor Bundle Firefox trying to run a shell script?
I just updated to the latest Tor Bundle (2.3.25-11) for 64-bit Linux and verified the GPG signature. I have a torbrowser AppArmor profile setup, and noticed that Firefox refused to load, saying it couldn't open my profile (2.3.25-10 worked perfectly). AppArmor had denied access to ~/tor-browser_en-US/.mozilla/. I modified the AppArmor profile to allow this, and Firefox opened. It created a firefox subfolder in .mozilla, and that was it. No other files or folders in .mozilla/ or .mozilla/firefox/. Seemed odd, but nothing to really be concerned about.

Now here's where things get really fishy. I first enabled No Script (since it's disabled by default). Then I loaded a .onion site, and saw in my AppArmor logs that it had twice denied Firefox from executing /bin/dash. It seems Firefox was trying to run a shell script!

Am I just being paranoid? Is there any legitimate reason for Firefox to be doing this? I don't know how to investigate this any further, but figured I should probably disclose it just in case.
It's a convention of building physics to convert all energy useage to kW (sometimes BTU in the US) regardless of whether its gas, electric, oil, biomass etc. For example, Passivhaus calcs are done this way.
I'd be interested to see how many people would actual avail of a service like that. Religious people who believe in an after-life probably wouldn't but I'm sure a lot of others wouldn't either. Steve Jobs quote "Death is very likely to be the single best invention of life because death is life's change agent." appeals to me and people with that perspective probably wouldn't want to live infinitely.
Er, I may or may know somebody who has done some work under a name inspired by one of their company names. It's one of those things that seemed a hell of a lot funnier at the time, until you're trying to pitch work with a straight face.
For those in the know, and for the benefit of laymen who don't have the time to do the research, what are the things that a buyer should look for in a SSD, in regards to reliability and longevity? Technology, brand, controller?
Tim Armstrong fires AOL employee during conference call
A Youtube video would allow downloading and watching it offline or in a secure manner.

They should at least tell what 3rd party JS domains are required to watch the video. Allowing vooza + wistia still shows a black window instead of a video.

The other 3rd party domains, are evil facebook, google analytics, twitter and optimizely, and do not sound as if they are required for watching the video.

It looks as an other example of JS done wrong.

And yes - i've tried it in my only browser where I allow flash.
Unity3d also supports javascript and boo (some python variant)
Original ideas imply uncommon sense.

I like that way of putting it. To me, having uncommon sense is not synonymous with ignoring common sense. Why not use both!
Yup, but here you go: http://www.youtube.com/watch?v=XoJUYQk_FMI
For the ones that (that like me) don't have and iPhone are wondering what the sound is like: http://www.youtube.com/watch?v=XoJUYQk_FMI
Watch the video to get an impression. He compiles the kernel in ~1 minute.
These guys had a booth at the Epson stage at SIGGRAPH this year. I tried it out from one the engineers. The unit could stand to be a bit lighter, and less dorky but it definitely works. They are very accessible and probably game to demo it if you visit their offices.
>Religious people who believe in an after-life probably wouldn't but I'm sure a lot of others wouldn't either.

Once the certainty of death leaves, people will become a lot less religious. As Woody said, we're looking for distraction, and religion is a good distractor: "don't worry about death, there's this wonderful afterlife."
A Work-stealing Runtime for Rust - Aaron Todd
Keeping a critical distance is the best reaction to a frenetic hype that acquired religious characteristics.
Kirobo, the talking robot will be launched in space
I'm guessing it's this one: http://picosong.com/RGTt/
I would argue that if apps can randomly shutdown and reboot the device without even explicitly trying to do so then the OS is at fault, even if it turns out that updates to those apps resolve the problem.

This isn't the 1980s or early 90s, consumer OSes (even those on small mobile devices) should not come crashing down because of something an app has done.
You can use operators to deal with 3.
do
c <- openDbConnection =<< readConfigData

As for 5., GHC is de-facto standard.
Funny how I submitted the exact same link yesterday and it got zero votes: https://news.ycombinator.com/item?id=6185131
No, it works for moving projectors as long as the camera is moving as well.

http://www.youtube.com/watch?v=CSBDY0RuhS4
http://www.youtube.com/watch?v=Sw4RvwhQ73E

since you could assume that the projector is standing still and everything else is moving, the same should be true for the inverse and all points inbetween.
Why glasses are so expensive - 60 Minutes
What is the memory footprint of node? What is the startup cost?

imho, node as command line makes even less sense then Smalltalk, Java or Mono. Those are heavy weight languages that have no place in interactive commandline scripting.

Better choices are the classical languages like Perl or Python, and Lua or awk has even less startup costs.
First of all, when you get a 'unique', turn off javascript, then go back and click the 'Test Me' button again. You'll see much of your 'uniqueness' go away, and many boxen say 'no javascript'... no plug-in or font details sent.

Get a user-agent switcher and try several different browsers. (Use the 'Test Me' button after switching.) In the past I found IDing as IE8 made my browser 1 in 3000 or so.

Another good site for testing your settings security is grc.org.
Google Music All Access: UK Launch
We never wanted you in the first place, and im sure the upwardly mobile don't either.
There is no record of Thomas Jefferson ever saying that.

http://www.monticello.org/site/research-and-collections/if-y...

Improperly attributed quotations are a bit of pet peeve of mine. I don't want to beat anybody up if they just read it on the web somewhere. But the problem is, anybody even slightly familiar with Jefferson would know he would never say anything like that.