skysight-inc/HackerNews huggingface dataset:
I occasionally cycle in London.

There are two schools of thought to making cycling safer:

1) Make cyclists brighter and more armoured.

2) dedicated infrastructure.

Option 2 is much more costly and harder politically, but is the only school of thought worth taking seriously. Look at places such as as Amsterdam and Copenhagen where cycling is common and safe (1). Do they rely on helmets and glowing things? No they don't. Lots of ordinary people cycle in regular clothes on dedicated separated cycle lanes.

Yes, you'll be safer if you stand out by being brighter than everyone else. But new and interesting ways to ramp up the brightness wars are a frivolous distraction from what cyclists in London need. You should not need to "look like cross between Darth Vader and a Christmas Tree" (2) in order to ride a bike.

At lot of the current infrastructure is terrible:

Advanced stop line? You mean that white mark on the road with a minicab over it.

Cycle "superhighway?" You mean that blue stripe underneath the buses and trucks.

1) http://www.theguardian.com/cities/2014/oct/16/copenhagen-cyc...

2) http://lcc.org.uk/articles/cycling-what-not-to-wear-1
Not sure about cheap. I spend about $350/month for the Metro North train ride from Connecticut into NYC, and half the time am riding in the 40-year old cars with dilapidated, uncomfortable seats. The NYC subway just bumped up its rates to $2.75/ride, which means I'm spending around $115/month for the subway. All that, and it takes me two hours door-to-door.

I live in Connecticut because the houses are slightly more affordable and my kids can go to decent public schools. As soon as they're out of high school in a few years we're considering moving, but all my contacts and the interesting, well-paying jobs are in NYC.
If only it was so obvious. There was a case in 2006 I remembered were it apparently wasn't quite so for some people, http://www.dw.com/en/german-company-fined-for-selling-anti-n..., don't know if something similar came up again more recently.
Outside of London we were gifted the 'marvels' of deregulation in the 80's though and the prices & service are now pretty bad. I remember watching the minister responsible at the time espousing how marvellous deregulation was going to be and how he'd been inspired after seeing two empty buses going over Tower Bridge - yet London largely escaped despite being the inspiration. Count yourselves lucky ;-)

This Guardian piece has some numbers : http://www.theguardian.com/uk-news/2014/aug/26/bus-deregulat...
Same. e.g. has there been a revolution in skin and dental care?

> Teenagers seem to no longer have acne or cavities
I've worked in a lot of legacy code bases. Here's my approach:
* Skim around to get a general idea of what components are involved.
* Try to understand that one module/class that keeps getting used a lot or is really important.
* I mentally trace through that code, as if I'm a debugger.
* Most importantly, I write down my discoveries/understanding as I go to help me retain this idea.
* Re-skim with my new understanding and/or reorganize the code to be more concise or simpler. Depending on how ambitious you are, you might try to keep these changes. But with legacy code, it typically breaks as a result.

Every code base takes time to digest all the information. Sure the information passed your eyes, but is it committed to memory?
Nothing bad ever happens to proprietary database software... nope.
Unfortunately I don't have two devices with the same ID and no serial number to test, but assuming Linux et al deal with them correctly, there sure must be some way? I guess Windows could resort to using the bus/device number information only when there is no other way of distinguishing between two devices (serial number, USB PID/VID...).

The impression I get is that when Windows executes the "Found new hardware" thing, it installs (usually from Windows Update, if the setting is enabled) the drivers, but it's as if the drivers were installed for that USB port only... it appears to install the driver again and again as I move the device to other ports. This is not the way Linux deals with device drivers (once a driver exists in the kernel or is available as a kernel module, it works irregardless of the port), and as far as I know on OS X and BSD kernels it's similar.
The only one of them that is not doable is the cheque deposit as in the UK the bank needs the physical cheque.
"It originated in the Americas and was in common use in Europe by the 17th century"

https://en.wikipedia.org/wiki/Snuff_%28tobacco%29
At that time Google wasn't the massive thing it is. Wikipedia was just born. Time to see things in a new light.

http://rue89.nouvelobs.com/2015/06/26/1895-belgique-invente-... (french)

The pictures in this article are touching. It's naive and yet it's what the world is today. A new spin on the SF drive discoveries.
I just crack open the source base with Emacs, and start writing stuff down.

I use a large format (8x11 inch) notebook and start going through the abstractions file by file, filling up pages with summaries of things. I'll often copy out the major classes with a summary of their methods, and arrows to reflect class relationships. If there's a database involved, understanding what's being stored is usually pretty crucial, so I'll copy out the record definitions and make notes about fields. Call graphs and event diagrams go here, too.

After identifying the important stuff, I read code, and make notes about what the core functions and methods are doing. Here, a very fast global search is your friend, and "where is this declared?" and "who calls this?" are best answered in seconds. A source-base-wide grep works okay, but tools like Visual Assist's global search work better; I want answers fast.

Why use pen and paper? I find that this manual process helps my memory, and I can rapidly flip around in summaries that I've written in my own hand and fill in my understanding quite quickly. Usually, after a week or so I never refer to the notes again, but the initial phase of boosting my short term memory with paper, global searches and "getting my hands to know the code" works pretty well.

Also, I try to get the code running and fix a bug (or add a small feature) and check the change in, day one. I get anxious if I've been in a new code base for more than a few days without doing this.
No idea. I honestly think we will get to the stage where boomers are riding the young around and shouting "giddy up!". And the kids will just shrug. There is just something about Brits that makes them so exploitable. Like domesticated animals they just line up.
I think the gold standard these days is Algolia. I'd check into that.
The south didn't merely say "fuck this we're out" and secede. They raised an army and fought viciously to protect human slavery. The Civil War was a war for slavery. Fighting for slavery is shameful.

People today shouldn't be ashamed of what people in 1864 did; that's silly. But they shouldn't be proud of it, either.

That's the point I think 'rayiner is making.
I first try to familiarize myself with the high level design/org of the code base, going through the README, other docs, looking at the test code if any and just generally scanning the important files/modules etc.

Then I prefer to jump into fixing any existing issue. Working on fixing an issue teaches a lot, more fixes, then features, rinse, lather, repeat.

While this post talks about fixing compiler bugs, the overall steps are much replicable: http://random-state.net/log/3522555395.html
I'd have probably started with "The London Underground advertises a seven-day service, but this is a fallacy. It is effectively out of service on weekends and bank holidays"...

London has 99 problems, but absence of daytime transport at weekends ain't one.
> 2800 sq ft

I'm hoping you mean sq.m there since unless I'm mistaken, 2800 sq.ft isn't that much (unless that's distinct from the house but still...)
Glad I'm not the only one who stumbles around :)

Another thing I do is try and replicate one core feature of the thing I'm trying to understand. Like others have suggested, I like using debuggers. Recently, I wondered how debuggers work. So I built the following to find out.

https://github.com/amorphid/rails-debugger_example
No, I'm thinking of working for McDonalds in front my place.
Literally have 2 seconds to and from work then.

Just to be clear, it's not the code part that bothers me. It's everything else that comes with it.
I went to University in London and lived there for 10 years. I loved the city to death. Back then in the mid-90s we thought property was over valued, but in truth a 2 bedroom flat at around 80k in zone 2/3 was affordable on a modest income. I liked the culture, the people and walking around the city which was always so alive.

Despite all that when I decided to get married and have a family I looked elsewhere. Perhaps ironically I settled in Vancouver which is suffering a lot of the same issues as London as so many others had the same idea.

Good article but it's really just a fact of life that if you live somewhere that many people want to live, you must compete with them for rental and real estate.
The underground is £4.80 for a single fare in zones 1-3, £2.30 if you use the oyster; double for return ticket.
Errm "instead advances the commercial or special concerns of interest groups that dominate the industry or sector it is charged with regulating"

Incumbent Taxi companies have been lobbying regulation bodies for laws to stop competition for a long time. That's exactly what i'm talking about. They use excuses like "reducing congestion" etc when more taxi's actually reduces congestion.

Taxi companies all over the world are currently lobbying and forcing their local regulation agencies to stop uber(I.e Competition). I.E http://www.bbc.co.uk/news/world-europe-33281896

They spend a lot of money on PR to manipulate media to create scare stories as well.
If you don't think a 3 bed house (parents and two kids) and some trivial exposure to nature is a reasonable expectation for a normal worker/employee, that says something sad about this over-urbanization trend.
As someone who lives in London, this is fake.

>> small flat in zone 4 paying out a minimum of £1200 pcm for a 1 bed flat,

Mate, I pay 1600 for a two bedroom big flat with an awesome view (zone 2). Prices didn't get that ridiculous yet.

>>> I was recently charged nine quid for two pints of ale and I took offence.

Fuck you, that's bullshit. If you actually paid that, you've been robbed.

>>>It is effectively out of service on weekends and bank holidays

Yeah, they need to do maintenance regularly, idiot. There's more than one way to get somewhere, you know? It's not like they close the city down.

TLDR this guy may have valid reasons to leave London and the article is well written, but a lot of "facts" are just plain made up or exaggerated.

EDIT

I misread as 9 quid for one pint. 9 for two pints is most definitely correct.
Modern ARMs are just fine with unaligned access.

There will be ISAs sufficiently different that you cannot make bitcode generated when targetting one not be massaged to fit another, but they are not mainstream. The mainstream are all increasingly similar 64-bit targets.
This is only the most AMAZING thing to happen to Excel! I got some Excel data from a friend to analyze and went through the usual PivotTable way for a while until I hit a roadblock and I needed something more advanced. I knew how to solve my problem with SQL but not with Excel, so I ended up downloading and installing SQL Server Express. This would have saved me from having to do that. Looking forward to more features.
I got bored of London, worked in SF for a while and enjoyed it there, but had no chance getting a visa.

I got back to London (could never really afford to live in the city centre) and then moved to Berlin and loved it. But, you can get too comfortable in some places, so I'm back in London again, but I miss Berlin.

Never go back though, if I had the chance I'd move on to somewhere new in Europe for sure. London's great though, more diversity than many, many places, and that's a huge reason to stay.
How much do you make in London?
True. The best way to deal with darkness would be to let it out in the light.
but please bottle up the "my viewpoint is the only important viewpoint, and all change I don't like is bad" crap and keep it to yourself.

You are projecting a lot onto the article that isn't there.
You have to be reasonable about commute times of course. What's reasonable is dependent on the city size, but a 1hr commute in either end of the work day is probably reasonable in big cities, in the biggest ones such as London, Paris or Tokyo you probably have to accept 2h (And if that isn't reasonable to you, you have to move. I could never do a 1.5 or 2h commute).

I can only assume that what he meant was that it wasn't reasonable to find a 3bedroom house with a small guarden within reasonable commute distance and reasonable budget.

When moving in stockholm I looked for just this, (sub 1h commute, 3bedrooms) and had to make a heatmap for public transit times in order to find the good spots. Needed to be in the orange (40minute travel) to have <1h door-to-door with a 10minute walk to/from public transport.
http://commutemap.azurewebsites.net/
Thanks for pointing this out. The history may not be quite as clear as you (and Wikipedia) say. But regardless, it's good for more people to know that these flags haven't just been flying there peacefully ever since the end of the civil war.

Here's a fairly thorough discussion: http://www.politifact.com/punditfact/statements/2015/jun/22/...
But there is load of residential demand. The population living in London is increasing all the time [1]. Certainly, there's also speculation, but the speculation is not unfounded, like those empty cities in China. People do want to live in London, even at the current prices - more and more people every year.

* http://www.ft.com/cms/s/2/a55f7d74-51f0-11e3-8c42-00144feabd...
It's not, and I think it's older than Node.js.
7 Keys to a Compelling Investor Executive Summary
Reddit has been blocked in China
Do you really know about this or is this just middle-school economics? Do you know about the London mkt?

Lots of the more expensive parts of London are empty at night. London is open season for money laundering through housing. Also do you know how money is created? How is it that people can suddenly pay $600k on a modest salary?
Where can I afford to live?
At the time, I've met enough people that weren't able to tell if their loud floppy drives were idle too.
>money spent on the Mars orbiter was just an exercise in national pride

When start-ups compete against big corporations, do they try to follow corporate crap and other slow things? The advantage of being second is that you can learn from those ahead of you.

Although I agree that at least basic sanitation is more important than this, but this is not the case in general. In general, we need to invest in next generation technologies and advancements. Only then can we create income sources which dwarf all coming from the advancements of rest of the world.
I consult a lot which means I often have to use a Windows desktop because the IT staff needs it to run Office for people who only know one email client. I mostly work in Linux usually in a VM in these case. To you point, on a new machine designed to run Windows 7, 3 times in the past few months I plug in my external keyboard and it fails. The only resolution is to reboot the windows machine. At least once I've had my USB headset fail, had to reboot Windows. In the past year on a different machine also designed to run Windows I could not get it to detect my Android phone while my Ubuntu desktop has never failed on 3 different machines running Ubuntu.

When people say in any thread that Windows driver support is superior to Linux; the answer from my experience on a number of machines is still no.
If this is your modus operandi your life will be much improved with Ack. It's specifically designed for searching codebases.
UK rents 'most expensive in Europe'
I wrote some simple bash scripts around git which allow me to very quickly identify the most frequently-edited files, the most recently-edited files, the largest files, etc.

https://github.com/gilesbowkett/rewind

it's for assessing a project on day one, when you join, especially for "rescue mission" consulting. it's most useful for large projects.

the idea is, you need to know as much as possible right away. so you run these scripts and you get a map which immediately identifies which files are most significant. if it's edited frequently, it was edited yesterday, it was edited on the day the project began, and it's a much bigger file than any other, that's obviously the file to look at first.

we tend to view files in a list, but in reality, some files are very central, some files are out on the periphery and only interact with a few other files. you could actually draw that map, by analyzing "require" and "import" statements, but I didn't go that far with this. those vary tremendously on a language-by-language basis and would require much cleverer code. this is just a good way to hit the ground running with a basic understanding which you will very probably revise, re-evaluate, or throw away completely once you have more context.

but to answer your actual question, you do some analysis like this every time you go into an unfamiliar code base. you also need to get an idea of the basic paradigms involved, the coding style, etc. -- stuff which would be much harder to capture in a format as simple as bash scripts.

one of the best places to start is of course writing tests. Michael Feather wrote a great book about this called "Working Effectively with Legacy Code." brudgers's comment on this is good too but I have some small disagreements with it.
They have a lot of products but done of them actually end in "Z".
Average UK salary is £26K according to Google, so I just doubled that. So OK, I meant a couple who between them earn in total around £52K p.a. and can bring along a deposit of £50K (reduce the deposit by £3.50 for every £1 extra that they earn above £50K). That'll bring you to near enough £240K which is what I paid for a 2 bed house with a large garden.

Note the article is claiming you need to be on a six figure salary to live anywhere near London, which is a load of tosh.
The executable appears to be packed using vanilla UPX. Decompressing it and grepping the symbol table reveals the presence /lib/libc.so.6, /lib/libm.so.6 and /lib/libpthread.so.0.

By method of exclusion, it cannot be musl because musl unifies everything into a single /lib/libc.so.

It most likely is not uClibc because uClibc is typically symlinked to /lib/libc.so.0 from /lib/libuClibc.

Considering that the soname of /lib/libc.so.6 has been reserved by glibc since the 2.x days (to differentiate it from the Linux libc days of libc4 and libc5), it is most likely indeed glibc in use.

It's obvious this program isn't making use of NSS or anything like that, so it's doable to use glibc for static linking, if frustrating.
That's true, but Gabe came out and made a point stating that Valve as a whole didn't support that decision.
Thanks for the overview Simon, great to hear about the use of Haskell at scale. At CircuitHub we use Haskell to build our entire web app, Haskell is great for most tasks these days.
What's a use case in Go for an HTTP request library interface that returns a new channel for each request? There's no good way to select on a slice of channels, is there?
I enjoyed this presentation by Allison Kaptur on how to understand CPython better:

http://pyvideo.org/video/3465/exploring-is-never-boring-unde...

While it is focused on CPython, most of the techniques are applicable elsewhere. It also mentions a great article by Peter Seibel (http://www.gigamonkeys.com/code-reading/) that discusses why we don't often read code in the same way we would literature.

Essentially, as the complexity of software has grown people have been forced to take a more experimental approach to understand software even though it was created by other people.
A flashing light tells you when the device is writing or reading. It doesn't tell you when an important cache on the operating system side has been completely flushed. Or that the OS will start writing to the device again in a fraction of a second. Or a dozen other things that are relevant to removing a storage device on a modern system.
true, I didn't mean that it would solve a future 32 v 64 problem.
Here are a few tangentially related things that may be of interest:

(i) MacKay's book on Information Theory, Inference, and Learning Algorithms: http://www.inference.phy.cam.ac.uk/itila/

(ii) Probability Theory As Extended Logic: http://bayes.wustl.edu/

(iii) Causal Calculus: http://www.michaelnielsen.org/ddi/if-correlation-doesnt-impl...

(iv) I recall reading a pretty good blog post a year or two ago that described how to implement some kind of Bayesian token recognition thing to parse screen captures from some database (or something roughly like that). The gist of the approach was like this:

1. define a model expressing that certain combinations of neighbouring tokens are more likely to occur than others
2. approximate the full Bayesian inference problem as MAP inference
3. the resulting combinatorial optimisation problem could be encoded as a relatively easy mixed integer program
4. easy mixed integer programs are very tractable to commercial solvers such as CPLEX, Gurobi, or sometimes even the open source COIN-OR CBC

At the time I found the idea fascinating as I was working with LPs/MIPs and had some interest in Bayesian inference, but hadn't figured out that the former could provide a way to computationally tackle certain approximations of the latter.

I cannot for the life of me find the link again for this.
> london, it’s over, and it’s not me, it’s you

(the title itself)

> At what point do we say enough's enough and actually realise we'd rather live in affordable cities?

> But in 2011 I had to say 'fuck you London, our 30 year relationship is over. And for the record, it's not me, it's you.'

> London is quite simply taking the fucking piss.

> That's like being recommended a restaurant where the food is expensive but really good, and the recommender also notes that the food will make you ill.

This last one is a great example of a crappy "my viewpoint is the only one that matters" generalisation... anyway, I'll stop now, the article is littered with these. You can find them yourself.
I meant 2800 sq ft of grounds. In the UK that's a generous but not enormous garden. If the garden was any bigger it would take too much time to do the gardening - as it is I have to devote a day or more per month just keeping it under control.

The garden is big enough that I built an office in the garden which didn't appreciably make the garden feel any smaller: https://rwmj.wordpress.com/2013/07/10/garden-office-most-mos...
I am surprised how few younger programmers use a debugger these days.
Yes - and most people user UberX
I do divide-and-conquer. Find some part or feature of the tool you know from an outsider perspective, and then try to find it within the code. Then work backwards from there. Maybe even try to fiddle with it to change how it works, and see what happens.

I think reading each file or reading the data structures is more difficult because you have no familiarity as to what is going on and you have no knowledge of why things are structured as they are, so it'd end up like reading a math paper straight down: memorize a ton of definitions without knowing why, until you finally get to the gist of it.
Yes, I said something to a similar effect in my other comment.

My problem with it is there are a lot of people that get shafted as things change and really get hit hard by it, and the government are to blame for that.

Other cities in Europe manage to get a balance between capital investment and tearing the heart out of the city.
Every network adapter has a global identifier. Every network currently in use require it.
Supreme Court rules gay couples nationwide have a right to marry