Expanding rapidly: Human labor force eliminated by robots - <AUTHOR> http://failedevolution.blogspot.com/2016/05/expanding-rapidly-human-labor-force.html <comment><USER2> Seems like technological unemployment is something people are afraid of, even though humans have spent most of their history working toward that goal. Robots will not "take" our jobs, they will "free" us from working. Eventually, thanks to robots and AI, everything will be so cheap to produce that governments will be able to deliver basic income to everyone.

<comment><USER3> Dear Hacker News admin,

I have just been writing to whoever I could think of, including policy, Premier and Cabinet Departments in Government. I look forward to technological unemployment, but I know what a perpetual crisis it would be for all of we people on welfare if the Government hadn't even thought about it, much less prepared for it.

Kind regards,

Elizabeth Jane

The Hon. Jenny Macklin, M.P. Shadow Minister for Disability Reform, House of Representatives Parliament House Canberra ACT 2600

Dear Ms Macklin,

I am writing to you about TECHNOLOGICAL UNEMPLOYMENT. Why is it not debated in the election campaign by either the Labor Party or the Liberal National Party?

I have sent the following media release (below) to most MP's and Senators in Australia, to newspapers in Australia, New Zealand, Canada, U.K., and the U.S. and to political parties. There has been just one response, just one reaction. I received an e-mailed letter from Senator Eric Abetz, but he made no mention of technological unemployment, so I concluded that this was a stock reply and that the Senator had zero information about technological unemployment. Therefore the Liberal National Party has no information about technological unemployment in their policies. And so, this country's leaders continue their election campaign with absolutely no regard to perhaps the most important issue and social change ever, and which will begin within the next three years regardless of whether Labor or the Liberal National Party will be in power.

I want this issue to be raised during the election campaign. I don't want to be living in a Third World country in a few years time just because the political parties in this country haven't updated their policies to include technological unemployment, and because the relevant Government Departments have not included technological unemployment in their economic forecasts for the Government and Opposition.

In A.I. machine-learning terms, since Google DeepMind's AlphaGo beat a Go grandmaster earlier this year, at least 10 years before it was thought possible, we have been living in the year 2026. Therefore, all of the predictions for what we will be seeing with regard to technological unemployment prior to 2016 that refer to 2025-2030 apply to us now: We will therefore be seeing the fruits of advanced machine-learning the likes of Google's DeepMind very soon.

Foxconn just permanently laid off 60,000 workers. They will be replaced with robots. That is nothing compared to what is to come. Driverless taxis made by nuTonomy, a software company, will begin operating in Singapore late this year. Affected by this A.I. technology will be a huge 28% of the workforce, whose jobs involve driving cars or trucks. No doubt fully driverless cars will arrive in Australia in 2017 after they are proven successful in Singapore. Driverless trucks are already operating 24 hours a day on Australian mining sites. The technology is almost ready, only lack of legislation that accepts driverless vehicles is holding them back.

Call centre employees will also lose their jobs when "Amelia", an IPsoft project is introduced for commercial use. The computer program is currently in beta testing. When it is introduced it has been reported that Amelia will take the jobs of 250 million people, world-wide.

Please, ask the relevant Australian Government Departments if they have taken technological unemployment into account in their Budget forward estimates! Don't bother! They have overlooked it. Yet machine learning is improving exponentially, and soon we shall have very high unemployment. The Government is not preparing for what is to come, and considering how much time they spend arguing about a revenue vs. a spending problem, they will take years to agree on how to finance a Universal Basic Income. The answer to the debate over revenue vs. spending will soon be clearly resolved by world events in A.I. taking jobs: There is a REVENUE SHORTAGE! Now please read my "media release".

And then, would you please inform the political leaders of your findings so that a debate can begin on technological unemployment, and how to plan ahead for it?

Thank you.

Kind regards,

Elizabeth Jane

MEDIA RELEASE:

"UNEMPLOYMENT IN AUSTRALIA TO PASS 10% IN NEXT TERM OF GOVT."

THESE ARE MY MAIN POINTS:

The Australian unemployment rate will exceed 10% in the next term of government.

250 million call centre workers will be made unemployed world-wide by a new call-centre computer program [Amelia, by IPsoft] as soon as it is rolled out. The software removes the jobs of 6 out of 10 call centre workers.

An Australian study in 2015 concluded that nearly 40% of jobs could disappear by 2025 due to new technology. But that study has recently been superseded by AlphaGo. A quantum leap forward in machine-learning by Google this year, and an exponential, NOT linear, rate of improvement in machine learning, has meant that what was thought to be possible only in 10 years from now can now be done with A.I. This development has amazed computer scientists.

There are more possible games of Go than there are atoms in as many parallel universes as there are atoms in our Universe! (Google DeepMind). A.I. machine- learning has recently mastered the game of Go, accelerating what was previously believed possible by machine-learning by 10 years!

The Reserve Bank predicted that unemployment would be down from 5.7% now to 5.5% in one year. Because the growth of A.I. has not been taken into account this means that all government economic forecasts are obsolete and should be questioned.

Unless a Universal Basic Income or Guaranteed Minimum Income is introduced Australia will become a Third World country in a few years with a large and rapidly growing impoverished population on the one hand and with people with high incomes on the other.

The percentage of impoverished unemployed people will continue to grow past the approximately 45% of the population that had been predicted to be reached by 2025-2030 in Australia in a 2015 study. But those levels of unemployment will now happen considerably sooner ... by at least 10 years!

UBI: A Universal Basic Income (UBI) is a set amount of money that is given to all citizens and permanent residents by the government in order to provide a social wage and safety net against unemployment.

GMI: An alternative to a Universal Basic Income is a Guaranteed Minimum Income, or GMI. A Guaranteed Minimum Income provides every citizen or permanent resident of the country with a minimum wage, but a person's income from other sources is taken into account when allocating it. So a person who had an income equal to the GMI would not receive a GMI payment by the government.

The dire but predictable situation that Australia faces in the next parliamentary term will be due to changes that will affect the whole World, not just Australia. There is little disagreement that these changes will take place, but there is no preparation taking place yet.

A world-wide Star Trek-like revolution in the economic system will be needed to enable everyone to have a fulfilling life with a reasonable standard of living, with machines doing most of our work. The alternative is that the economy will collapse as spending on goods and services falls to unprecedented levels. There would be further secondary unemployment, in addition to technological unemployment, caused by a lack of demand for goods and services. We all deserve a technological dividend: Technology is for all of us, not just the few privileged people who control advanced technology.

No-one is talking about unemployment levels in the election campaign, let alone technological unemployment, which indicates that no political party has considered the imminent threat (or promise) of technological unemployment during the next parliamentary term. So no political party is ready to form government. It is debatable whether a party that ignores the well-known and widely predicted threat of Australia being afflicted with the highest level of unemployment ever deserves to be elected.

If no action is taken to completely restructure the economy, a task that will take some time, then the default setting for the economy is that more and more money will rapidly go into fewer and fewer hands and there will be suffering at the bottom of society, and presumably there will be political turmoil, perhaps even violent revolution.

There will need to be a politically bipartisan realisation, vision, and shared policy in favour of the urgent need for a completely new economic system which rejects a punitive approach to unemployment and which socially rewards the whole populace, because there will likely be resistance from vested interests.

Like the fall of communism, economic liberalism and neoliberalism have been logically-falsified by rapid technological innovation and are no longer credible economic theories. A new system of economics which has never previously been tried on a national scale has to take their place if we are all to survive rapid technological change.

CONTACT:

Elizabeth Jane

18 Jenico Street Queenstown Tasmania 7467 AUSTRALIA

Mobile: 0438842564 Home: (613) 6471 1286 (Int) 03 6471 1286 (Australia)

E-mail: firstname.lastname@example.com

Web/Petition site: [https://www.change.org/p/hon-bill-shorten-and-hon-jenny- mack...](https://www.change.org/p/hon-bill-shorten-and-hon-jenny-macklin- labor-leaders-stop-the-lnp-s-disability-pension-cuts/u/16673582)

PLEASE see the above web page for my article/petition update: "UNEMPLOYMENT IN AUSTRALIA TO PASS 10% IN NEXT TERM OF GOVT." (Published on 22 May 2016), which includes links to the articles supporting the above points.</comment></comment>


Google Office - Zurich - <AUTHOR> http://picasaweb.google.com/photos.jobs/ZurichOfficePhotos#

<comment><USER2> Anyone that has worked at a place like this knows it's just a giant PR stunt. The colorful gizmos, novelty workspaces were more of an annoying than fun, and nobody used them unless there were journalists around.

I'd rather have some nice outdoor space than a zany gondola any day.

<comment><USER3> I still use a fair amount of the novelties weekly if not daily a couple of years after they've been introduced. For example the fireman's poles are actually a great way of moving around. There's some nice outdoor spaces at the office too (including a rooftop terrace), they're just not shown on those pictures.

Does anyone work there just for the interior design? Of course not. But I don't see how they'd be annoying, and will take the Zurich offices over a beige cubicle farm any day.

<comment><USER4> Which office is this?

</comment></comment></comment><comment><USER5> That looks great, but I couldn't work in an office with such a large window and no blinds. The glare would be too much.I'd retreat with a laptop to one of those circular objects and shut the door.

<comment><USER6> Google's openness goes much further than glass walls. For example, you'll rarely find a person in a private office. Even Page and Brin share an office.

In other words, Google does not believe in privacy.

<comment><USER7> > In other words, Google does not believe in privacy.

That's a bit of a crazy jump there ;)

Open workspaces are extremely common and very popular for companies (at least in my experience - and I have been in quite a few offices :)). Google seems to extend it to top management too - which _is_ unusual.

I think the theory is solid btw (in that it does work in improving the work ethic etc.)

</comment></comment></comment><comment><USER8> Anyone else find this somewhat cringe-enducing?

<comment><USER9> I think we're gonna look back at these wacky offices in 10-20 years and just have a chuckle.

</comment></comment><comment><USER10> I visited the Zurich office as a guest. Inside, there are areas with lots of social activity (and loud), and also many areas (offices, really) of total silence, calmness, and good natural light everywhere. Lots of glass walls with plants and posters to create privacy. The pictures in the link only show the funky areas--a minor fraction. Overall it looked like a great place to work at.</comment>


What If Metcalfe's Law Is Wrong? - <AUTHOR> http://gigaom.com/2010/03/12/what-if-metcalfe's-law-is-wrong/

<comment> alan-crowe The standard refutation of Metcalfe's law, by Andrew Odlyzko and Benjamin Tilly, is hosted at <http://www.dtc.umn.edu/~odlyzko/doc/metcalfe.pdf>

On page nine they conclude:

Metcalfe's Law and Reed's Law both significantly overstate the value of a communication network. In their place we propose another rough rule, that the value of a network of size n grows like n log n. This rule, while not meant to be exact, does appear to be consistent with the historical behaviour of networks with regard to interconnection, and it captures the advantage that general connectivity offers over broadcast networks that deliver content. It also helps explain the failure of the dot-com and telecom ventures, since it implies network effects are not as strong as had been hoped for.</comment>


The Most Watched Load of Garbage in the Memory of Man  - <AUTHOR> http://motherboard.vice.com/blog/the-mobro-4000

<comment><AUTHOR> Dammit, who the hell changed my title? Read the article, this has a funny/ sad story of how a startup trying to use ethanol to generate electricity using New York's garbage in the 80s ended up getting caught under the light of national media attention, thwarting the entire company. Today, ethanol from trash is a billion dollar business. This article, resonates entrepreneurship. Please change the title back to include that.</comment>


Hacking the coding interview - <AUTHOR> http://www.restlessprogrammer.com/2013/09/hacking-coding-interview.html

<comment><USER2> My tips reflect my attitude more than general advice, but here goes:

\- Decide what _you_ want out of the interview. How do you decide to work for this company? An interview is a two-way street. Engage with the interviewer, connect with the culture. Push back (a little) on their ideas, see what happens.

\- I hate puzzles. I think they're junk and have never found them to be good predictors (for either party). I usually (1) parlay it into some relevant experience "I encountered something like that when I..." or (2) describe how I'd solve a problem rather than dig into it [1].

\- Demonstrate your common sense, flexibility, good social skills. Talk about how you work in a team. Talk about what you do when you encounter a problem you can't solve yourself. Talk about any self-lead learning you do. You need to fit in and you need the company to demonstrate they want you to help. Even if the interviewers aren't aware of it, more often these form the lasting impression from an interview.

[1] Long, long time ago I was asked to produce a "sort" implementation. So I drew a bubble-sort. When one of the interviewers was somewhat outraged by this, my reply was "I didn't have any constraints, so I optimized for maintainability." A bit cheeky perhaps, but worked in the context.

</comment><comment><USER3> I am completely against written tests or questions that ask abstract questions and ask you to write algorithms. Unless you're going for a position that requires a PhD in computer science and your job will be writing algorithms and solving overly complex problems, the pen and whiteboard approach just doesn't work in 2013.

Hiring a developer shouldn't be as complicated as some companies make it out to be. Maybe for the likes of Google it has to be a lot more complex than others because they have an image and large workforce that depends on people being excellent self-managers and workers that require minimal management.

For smaller companies you are wasting your time and my time asking me questions that test my ability to remember things more-so than they do to search and find answers. Lets face it, most developers these days are hackers. I've never met a developer who knows the answer to everything, I've seen the best of the best using Stackoverflow to find an answer to their question.

The difference between a good developer and a great developer is knowing a little and for the stuff you don't know, knowing exactly what to Google when you encounter a problem you can't solve off of the top of your head. As Albert Einstein famously said, "Never Memorize What You Can Look Up in a Book" — that doesn't mean don't learn anything, but get the basics down and eventually you'll know what to Google when you don't know something.

The real test of any developer is if they're a good fit for your team, have good work ethic and can get the job done. You can find the smartest developer in the world but they might not be a good fit for your team. Culture matters as does a good work environment with compatible people.

The best way to test a developer anywhere in the world is to give them access to a computer, an IDE and their environment of choice. Then ask them to build you something. Don't ask them to write binary search code if they're being interviewed for a front-end position, ask them to build something.

Welcome to your interview; build us a blog, build us a todo app, write a simple Wordpress plugin, write a jQuery plugin or what my current employer did: they brought me in for a trial for a couple of days (paid) and asked me to get my hands dirty on a real project they were currently working on. Just threw me in the deep end and after two days they had a good idea how I worked and if I was a fit.

<comment><USER4> > they brought me in for a trial for a couple of days (paid)

How does this work? Did you not have a job at the time? If you did, there are more often than not legal issues involved, depending on the terms of your current employment. This comes up a lot, but I don't understand how it works from a legal standpoint.

The other issue, of course, is that a good developer doesn't have to put up with that, so why would they? I did it once, looking for a job out of college, but never again. If the "interview" is going to cost me more than a couple of hours, then I will work somewhere that knows how to make a decision.

<comment><USER3> I never had a job at the time when I took the trial. I had just finished a contract position with a media company and was looking for a permanent position with a smaller studio.

</comment></comment></comment><comment><USER5> "So you're interviewing at Google and lunch time comes around. Food is free so you eat way too much, especially carbs. Your post-lunch interview is a disaster since you have trouble focusing due to lethargy. True story."

Ha... I might have chosen the wrong cafeteria, but to me the food was a disappointment during my Google interview. The veggies were way too hard, I didn't like tacos, some of the meat looked indecipherable, and I was fumbling as I wondered whether there was a line, or whether I was looking stupid. I kinda wished there was NO free lunch.

<comment><USER6> I honestly can't tell whether the last sentence was intended to be a punchline or not. But if so, good job!

</comment></comment><comment><USER7> The idea of using "B-list" companies makes me a bit disgusted honestly. Have we put ourselves on such pedestals that we use other people's valuable time as unknowing practice runs? I would never interview somewhere I was not interested in working.

<comment><USER8> I can think of three reasons for interviewing at a "B-list" company that have nothing to do with putting oneself on a pedestal.

1) You might actually like the work/environment/personal growth opportunities/company health at the "B-list" company once you see it in person. Admit it: your initial classification involved a healthy amount of guesswork and is probably not fantastically accurate.

2) A stupid mistake in your A-list interview hurts both you and the A-list company, potentially dramatically so. You help both them and yourself by practicing.

3) Your increased bargaining power decreases the chance the A-list company lowballs your salary, shooting both you and themselves in the foot (hiring your replacement is expensive, lost productivity due to dissatisfaction is expensive, envy-poisoned work relationships are expensive).

<comment><USER9> I understand how a mistake in an A-list interview hurts you, but how does it hurt the A-list company?

<comment><USER8> Because it artificially reduces the talent pool they're drawing from. They might wind up hiring someone less competent who was better at signalling or making concessions to someone who wasn't as far ahead of the pack as they thought based on interview performance. Time and opportunity cost also factor in, of course.

</comment></comment></comment></comment><comment><USER10> The talk about tech interviews reminds me of this clip. [http://www.youtube.com/watch?v=OXRi28W-ENY](http://www.youtube.com/watch?v=OXRi28W-ENY)

<comment><USER11> The above link is to the first minute and a half of the interview sequence in the original _Men in Black_ movie.

</comment></comment><comment><USER12> There are some good tips and links here, but I don't understand the "hacking" metaphor. There are no big secrets. It all comes down to the "always be coding" idea that was presented a few months ago [1]. It just takes discipline and time-management. Succeed at that and many offers will come your way.

[1] [https://medium.com/tech-talk/d5f8051afce2](https://medium.com/tech- talk/d5f8051afce2)

<comment><USER13> The article's thesis is basically the exact opposite of this.

It states in no uncertain terms that "always be coding" is wrong. That you should instead spend your time practicing techniques you never use when creating actual software, and that you should also maximize your interview count for salary leverage.

"A lot of what I'm suggesting to do is pretty extreme. A lot of the skills here are not something you learn by doing a standard software engineering job (or get coming out of college). It's especially hard for more senior engineers to do technical interviews since most have limited time due to familial obligations and haven't taken CS 101 for quite some time."

</comment></comment><comment><USER14> I really appreciate this article! So many people go to interviews and are obviously unprepared. The simple fact that a person is unprepared for the given task is an obvious show on their personality. This goes for just about anything, not just interviewing. Would you just walk into a test without going to class first? Would you try to fly a plane full of people without first being taught how? So why would you go to an interview without knowing whats expected.

\- Know that an interview is a 2 way street. Have questions to ask the interviewers, if they ask you silly algorithm questions, have them explain to you how they use those algorithms in the workplace.

\- Make sure the job your interviewing is a place you can fit into, not just the other way around.

\- If you don't know something they are asking, just be upfront and say you don't know it, then ask them what it is and how its used at their company. Take note of this for future interviews.

\- Don't let the interviewer lead the interview the entire time.

\- For those of you haters that don't like the B-list idea, you could ask your peers that work at other places to interview you. (Interesting idea for a startup? Mock interview company? :)

<comment><USER15> I don't think this analogy makes sense. I HAVE flown professionally for 6 years and now I'm jumping through cargo-cult like hoops to show that to a new airline.

</comment></comment><comment><USER16> I've never actually interviewed at a company that interviewed like this. Is this the usual way in the US?

<comment><USER17> Yep it's pretty common</comment></comment>


California car burglaries are at crisis levels - <AUTHOR> https://www.latimes.com/california/story/2019-12-02/california-car-burglaries-lawmakers-loophole <comment><USER2> Proposition 47 is the real bugaboo, it moved from felony to misdemeanor thefts under $950 which includes damage caused by them. this made breaking into cars pretty much a free pass because window damage rarely could exceed that. becoming a misdemeanor meant cops have no real reason to follow up. throw in the requirement to prove the doors are locked, well its easy to understand

however the real dishonesty is from Lorena Gonzalez (D-San Diego) who claims a bill to at least remove the requirement for prosecutors prove a car was locked before being broken into based on costs. As in, they are very willing to pass the costs onto individuals; hence there still is a cost but to government it does not occur unless on their books. As it was pointed out, how is it never a crime to enter a vehicle you do not own without permission?

Prop 47 lead to an increase in shop lifting because it set the limit high enough that it basically insured no one would get prosecuted. the common method is to send a bunch of people into a store at one time to get the goods in volume but with each individual being under the limit in monetary value if being young enough prosecution won't work either

<comment><USER3> At a local Safeway woman loads cart with bottles of liquor. Walks out. She yells "I know my rights, I know my rights". What are the cashiers and security going to do? Nothing, they let her go.

At another place kids get caught stealing they turn over a display and run out. Again, nothing done. All those costs are borne by the paying customers.

People are gonna get sick of it; the progressive supes are gonna rue this move. The DA race in SF was close. I think it's gonna go the other way next election.

Also word on the street is apparently thieves prefer SF to Daly City because San Mateo county doesn't play as nice as SF.

<comment><USER4> What you are describing is a particular sort of story that's meant to inflame and probably speaks to where you get you news, which sounds like it's political and partisan.

Both of the things you describe are corporate policies. They have nothing to do with state law anywhere, and they are there because of liability. Safeway doesn't want to get sued for 1) if an employee is an idiot/racist and misidentifies someone and harms them 2) employees get harmed substantially trying to stop a shoplifter. In these cases you have rare and small losses that are miniscule compared to bad financial outcomes of intervention.

It would be easy to stop, but that costs money. It's a very simple business decision for retailers: is the cost of loss prevention higher than the loss.

The fact that this surprises you is surprising to me, this problem is many decades old in retail.

Car burglaries are a much different dynamic, and another poster mentions that it's a felony that was reclassified to a misdemeanor, and that law probably does need to be changed and is a problem for lawmakers.

edit: and can we raise the elephant in the room, which is that this is fairly solvable with a national facial recognition database and fairly low end iptv/image capture tech?

<comment><USER5> One point is that grocers shouldn't have to fend for themselves against crime.

Supplying the public good of crime fighting is _the_ main reason to form governments in the first place.

<comment><USER6> The police can't be in every store all the time. Presumably the police did show up and file reports about these crimes, but when a shoplifter is running away and the window to catch/arrest them is <60 seconds, I don't know what more the police could be doing.

<comment><USER7> I can think of a few San Francisco retail locations where blatant theft happens maybe every 15 minutes. The Walgreens at 9th and Market, the Gateway Safeway, the CVS at Pine and Kearney. The city has a task force for poop (much of the city is treated as a literal toilet); petty theft is almost equally visible and problematic.

<comment><USER8> The Safeway at 4th and King was basically a free market for crackheads. I lived nearby for five years and I would see shoplifting _every_ time that I entered the store. I'm not even exaggerating.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Fun anecdote. I was living/working in San Francisco a couple of years ago. It was 10am on a work day. I was walking towards my office, along Folsom coming from the 101 towards 8th. Out of nowhere a guy just walks up to one of the cars parked on the street, smashes the rear window, and starts taking whatever was inside. There was several homeless people nearby just casually observing it, along with myself. The perpetrator clearly gave zero fucks and undertook the whole thing as casually as one might stop to tie their shoe on the street. It was a little surreal, and I was already desensitized to the ... interesting characteristics of SoMa streets by that point.

<comment><USER10> I saw a similar surreal thing in San Fransisco. I was in the back left seat of a Lyft when I saw a man who appeared to be homeless walk up to a parked car on the side of the road. The traffic light was red so we were stopped with several cars in front of and behind us. The man peered into the windows, picked up his skateboard and bashed the back left side window of the car. He started pull out a non-descript black suitcase. The hole wasn't big enough, so he had to bash the window more. I'm stunned as he's doing this and I said aloud "Is he breaking into that car?". "...Yeah he is." - The Lyft driver cautiously replied. He got on his skateboard and casually skated away with the black suitcase. What can you do when that happens? The cops don't accept picture text messages yet. Can you just shoot these burglars on sight or do they have to be on your private property for that?

<comment><USER9> > Can you just shoot these burglars on sight or do they have to be on your > private property for that?

No idea about the law, but I would hope you value human life more than a stolen black suitcase.

</comment></comment></comment><comment><USER11> For all those out there that applauded Prop 47 that helped lead to this mess let me tell you a story of how this law leads to more inequality not less.

A single mother working 2 minimum wage jobs in different parts of the city uses her car to travel to work. She basically lives in her car so she must keep belongings she will need in there. While working her first shift for the day her car is broken into. Her bag with her uniform for her second shift is stolen along with everything else.

The cops tell her that the damage to her 20 year old used car's window and the items stolen add up to less than $950 so they can't do much of anything for her.

Meanwhile, across town, a rich tech elite's high end electric car is broken into and some valuable electronics are stolen. The damage and theft adds up to well over $950 so the police are able to investigate.

At the end of the day the tech elite orders replacement electronics with next day prime delivery and has their assistant work on repairing the window. The single mother gets fired from her second job for not having the appropriate attire. Great work California.

<comment><USER12> I'll present a counter argument: these crimes are born out of poverty and addiction. Charging even more addicts & poor people with felonies does nothing to help equality.

<comment><USER13> If I were on crank stealing bike cranks to buy more crank, I _would_ want to be arrested and sweat out withdrawal in treatment or even jail. Whatever the facility, I'd have medical staff monitoring my symptoms every step of the way, unlike in my tent on the sidewalk.

The last thing I would want is to spend a night in jail then released for time served, wander back to my crank den, where after getting more crank into my veins I will be back on the street finding more bike cranks to sell for scrap and continue feeding the beast until I die. You might say that sounds bleaker than reality, but Los Angeles just buried some 1500 unclaimed dead the other day.

<comment><USER12> > If I were on crank stealing bike cranks to buy more crank, I would want to > be arrested and sweat out withdrawal

You are speaking as someone who hasn't suffered from addiction. If you are an addict, you want drugs and you'll avoid withdrawl at all costs.

> Whatever the facility, I'd have medical staff monitoring my symptoms

You get the bare minimum in jail.

> The last thing I would want is to spend a night in jail then released for > time served, wander back to my crank den, where after getting more crank > into my veins

If you were an addict, that's exactly what you would want.

</comment></comment></comment></comment><comment><USER14> So a car is not considered personal property if it's parked on the street? I thought me taking someone else's property is illegal, isn't it? Say I swiped your wallet, it's obviously not locked in your pocket and you are on the street next to your car. Will I be prosecuted or not?

<comment><USER15> The arrest rate for car breakin in SF is 2%, let alone prosecution. What's your suggestion for raising that rate—hire a cop for every car in the city?

<comment><USER16> This is precisely the sort of policy that drives development and acceptance of mass surveillance software. What exactly do you think a city of technologists is going to do when driven against a wall, stuck between trying to appear progressive and chronic material loss of personal property?

It just takes one wrong middle manager to have a bad day and their car broken into before a certain cloud computing company decides that their smart surveillance doorbells can easily be adapted as car cams.

</comment></comment></comment><comment><USER17> This strikes me as such an odd law. Does CA feel the same about houses? Can one go break into a house and get away with it if the homeowner can't prove the doors were locked? I suspect not and, so, if not, why not? What was the impetus for such a law to begin with? Was there a rash of people leaving their cars unlocked and some politician decided it "serves them right" for getting broken into? The questions abound!

<comment><USER18> This year someone broke into my car in my driveway, got the garage door opener, opened the garage, stole some things there, opened the door into the house from the garage since we didn't habitually lock it back then, stole some things from the common areas while we slept in the bedrooms, then left a small pile of inferior loot from other stops in our front yard, some with nametags still on it.

While I credit the police for showing up and putting a minor effort into investigating it, they were certainly not taking pictures and fingerprints and all the stuff you expect from TV. The attitude was mostly "eh, teenagers get up to bad stuff, make sure to lock your doors."

</comment></comment><comment><USER19> Easy solution, break into the cars of the lawmakers.

<comment><USER11> Agreed, though I have a feeling those cases would be prosecuted to the full extent of the law.

<comment><USER20> So....they would also hit a dead wall of having to prove the car was locked at the time when it was broken into? Because that's the crux of the issue here.

<comment><USER21> I'm sure the 'crime' will be put under a different part of the law. I.e. Attacking a public official's property.

They have different laws for them. Wouldn't change a thing.

</comment></comment></comment></comment><comment><USER22> _prosecutors prove a car's doors were locked at the time of a break-in_

Weird law. Here in Wales if you leave it unlocked you might have a problem with your insurance but it's still equally a crime.

<comment><USER23> "eliminate a requirement that prosecutors prove a car's doors were locked at the time of a break-in, has been shelved two years in a row"

I lived in San Jose, left my crap car's doors unlocked because there was nothing in it. Still, the thief just broke the passenger window (without trying the door?) , opened the glove compartment, saw there was nothing in there, and moved on.

So, not a crime I guess. Yay California. I don't live there anymore.

<comment><USER24> Based on the anecdote in the story, you should always break the window without trying the door, because if you're on video trying and failing to open the door, that's evidence the door was locked and they can prosecute you.

Talk about perverse incentives.

</comment></comment></comment><comment><USER25> As someone who has lived in a major city for the last 30 years there is just ONE rule.

Leave nothing in your car and leave the doors unlocked.

Leaving the door unlocked is the rule I adopted after a break in 30 years ago when only one of my doors was locked, and of course that window was broken!

<comment><USER26> Sadly, this is not sufficient in SF. Many people have gotten so desperate as to hang posters that send the message to potential thieves: "please don't break my window, there is nothing valuable in this car." I'd say there's far more than just one rule.

<comment><USER25> What other rules would you suggest?

<comment><USER26> I'm not sure the premise is sound -- that there is a set of rules that if you abide by them, you won't have a car burglarized. Well, besides one that includes "don't have a car," at least. What says that there must be such a set? It seems essentially unavoidable, in San Francisco.

</comment></comment></comment></comment><comment><USER27> Wait, was this the reason the cybertruck had a glass breaking demo?

</comment><comment><USER28> There's a YouTube channel Gas Station Encounters that videos shop lifters in their store in order to publicly shame them. They began publishing their videos out of frustration.

Besides being pretty funny, it gives you some perspective on the people who shoplift with no shame.

Link: [https://www.youtube.com/channel/UCWAhPpdcWedLgaB1KJEvfqA](https://www.youtube.com/channel/UCWAhPpdcWedLgaB1KJEvfqA)

</comment><comment><USER29> San Francisco is basically Gotham city without Batman and City hall is Arkham Asylum. The newly elected DA is bound to make it worse as he focuses on decriminalizing all non-violent crimes. In the words of my Uncle "You made your bed, now you must sleep in it.."

</comment><comment><USER30> San Francisco is becoming a third world shithole, but with first world rent prices. Why would anyone choose to live there? Do people _enjoy_ stepping in human feces and getting their cars stolen?

<comment><USER31> there's no choice. that's where all the jobs are.

software companies were incentivized to go to SF many years ago by the mayor/tax breaks then, which seems kinda corrupt, or at least misrepresenting the will of the people: most SF residents don't want tech companies there in the first place.

</comment></comment><comment><USER5> Conspiracy theory:

Allowing rampant car theft is yet another way rich San Franciscans - who can afford both indoor parking and new windows a few times a year - keep the non millionaire rabble away from the city.

<comment><USER32> Well it's working, because as one member of that non-millionaire rabble, after moving here a year ago I desire nothing less than to move right back out.

</comment></comment><comment><USER33> Numbers. How many suspects are actually set free because of this law? I suspect very few, and this is just a way to vilify those who want to look out for the working class and those in poverty. If lawmakers really want to solve car thefts, they need to look at the systemic economic problems that cause the need for such theft to occur, not look for more ways to put poor people in jail.

</comment><comment><USER34> I know a lot of you guys all live in CA, and the bay area particularly. Just so you know: this stuff sounds like _madness_ to an outsider reading the stories in this thread.

If things are actually the way some of you are describing them, it sounds like SF particularly is about to collapse completely. Yikes. I can't imagine living there, much less having kids there.

<comment><USER35> "If things are actually the way some of you are describing them, it sounds like SF particularly is about to collapse completely."

It's all very sensationalist - all of it.

There are very small grains of truth (about needles and homeless and feces and car break-ins) that are spun out of all proportion.

As a resident of the SFBA and somebody that spends a fair amount of time in, and all over, the city, I can confirm all of it[1] ... but at the same time, SF is quite nice overall and I repeatedly have complete, multi-day interactions in the city with _zero dysfunction_.

[1] I have been the victim of one car break-in, I have had run-ins with people using the tenderloin as a toilet, etc.

<comment><USER36> Honestly, I find this comment hilarious.

Every time I've heard someone defending the Bay Area recently it sounds like utter normalization of the insane. You've been the victim of 'only' one car break-in yourself, have seen people shitting in the street, view the homeless and drug epidemic daily, and yet expect people to think these issues are overblown because they haven't happened for multiple days at points?

As someone from the outside looking in, I truly hope the U.S. gets their shit together, because it's looking pretty bleak at this point.

<comment><USER13> When I lived in Columbus, Ohio, I too had my car broken into multiple times, saw shitting in the street, passed out drunks on the bus, screaming in the grocery store, the works. Of course, none of this happened in the WASPy burbs.

The insane is in every city in the U.S., whether or not you find it during your daily life is another thing. It depends on whether you live in the rich city or the parallel working class city, and whether those two cities interface.

In cities where the rich are well separated from the working class (most of the east where the rich live in suburbs separated by distances only traversable by private car due to chronically poor transit), homeless is ignored because it's never seen way out in the suburbs.

In cities like the west cost and the few growing cities in the east, where rich people are moving into formerly working class inner city neighborhoods, of course there is now friction. The rich and working class cities are suddenly face each other directly and constantly, and the end result is the working class is pushed out as housing prices increase, or the rich leave again and it all collapses again.

Take LA. Way more homeless. Yet you get neighborhoods like hancock park, smack dab in the middle of the city, where you will just not see any homeless people, because there is no reason for anyone working class to set foot in that neighborhood. You are priced out of housing and priced out of even lattes. It's a rich suburb full of mansions, you aren't gonna get much panhandling done and will stand out like a sore thumb to police and private security who love doing favors to nagging rich white women without jobs.

But there are parts like downtown la, that used to have flophouses where drunks and addicts could actually rent housing. Or echo park that was a gangland in the 90s or a thriving working class latino community depending on whose reality you consult. Now 1brs cost 2k, the flophouses are bulldozed or renovated (or just get a new coat of paint), people commanding high salaries now interface with homeless and working class people and compete for the same apartments; the two cities merge in DTLA and echo park, as well as other neighborhoods in LA with increasing gentrification.

NYC has the most homeless of anywhere, 90k, and nearly half a million more living in public housing below market rents, but you don't see homeless encampments because NYC builds shelters and housing without NIMBY fuss; something like 95% of homeless are housed in NYC.

In any city you see these problems, and in cities with any semblance of demand that refuse to build supply to match, resulting in unaffordable housing for everyone not pulling >60k a year, you can see how this problem can grow exponentially larger. Never forget that the problem is present in every city, be it Columbus, NYC, LA, or Tulsa. The solutions are there and accepted in academic circles, but whether or not you see these solutions and their effect is directly reflective on the local political climate.

</comment></comment></comment></comment><comment><USER37> This is why vehicles like the cybertruck are increasingly needed. If the government has failed to protect us and our property, then we need to have more hardened property and take matters into our own hands.

<comment><USER38> Just as long as the burglars don't hit the window with a gently lofted marble right?

<comment><USER39> Didn't go through!

</comment></comment></comment><comment><USER40> >"With approximately 70 auto burglaries a day"

That doesn't seem like a crisis in a city the size of San Francisco.

<comment><USER41> San Fran has rougly 800k people and assuming that 70 cars gets stolen a day and everyone there has a car, that's a 3% chance that your car will get stolen within a year.

This doesn't obviously address the issue that I doubt there's even 400k cars there which more than doubles the likelyhood. That's not nothing, it's over 25k stolen cars in a year and an enormous burden on the local police force.

<comment><USER42> Car burglary != car theft. The 70/day number refers to break-ins, generally a broken car window and stolen belongings -- loose change, usb charger, fuzzy dice, laptop, whatever.

<comment><USER43> Don't forget the side window that costs a few hundred (at least) to replace.

<comment><USER13> I've been burgled (sp?) twice now and both times the window was intact. I think people who do this regularly have the tools the cops and tow guys have. Makes it look waay discrete rifling in a car with the door opened normally, you could probably do it in broad daylight in front of the police station and be fine.

Smash and grab makes sense if you don't have those tools and know no one, not even pedestrians, react to broken glass or car alarms in that part of town.

</comment></comment></comment></comment></comment><comment><USER44> I've always left nothing in the car and the doors unlocked in the hope that my windows won't be broken.

Not SF but I once had the cup holder/ashtray stolen from an old mini van I was driving, I assume because it had a few dollars in change in the ash tray.

More amusing than anything.

Cars are terrible for cities, doesn't bother me in the least that protecting tourist's cameras isn't an enforcement priority.

> Tourists are disproportionately targeted because they are more likely to > have valuables in their cars

<comment><USER11> > Cars are terrible for cities, doesn't bother me in the least that protecting > tourist's cameras isn't an enforcement priority.

What a flippant and short sighted thing to say. I've known people whose car was broken into and had their medical devices, medication, and clothes stolen. That's more of a problem than a tourist's camera.

Regardless of your opinion on car transportation in cities the idea that victims of a crime should take the blame because they left something valuable in their car and locked it is the same as saying a rape victim is at fault for the crime because of what they were wearing. It is pretty sickening.

<comment><USER45> Any crime is inherently evaluated as "worse" or "better" than another crime under most judicial systems, which is reflected in sentences and in allocation of police resources.

One can express their agreement with current allocation of resources without blaming victims for the crime, can't they? To me, as to someone who knows a rape victim, likening car burglary to rape sounds much more horrific than that.

Did victim-blaming get edited out of the comment you were replying to after your post?

<comment><USER11> I see your point. To me, victim blaming was implied by implying tourists having their camera's stolen don't deserve help because they aren't street smart in SF. I am not saying police shouldn't allocate resources to 'worse' crimes but we shouldn't also say it is the tourist victim's fault (e.g. "They should've known better!". I think that's a slippery slope that is best avoided. I may have read too deeply into the intent behind that comment though.

<comment><USER44> > I may have read too deeply into the intent behind that comment though.</comment></comment></comment></comment></comment>


Show HN: TypeScript types that conform to JSON schemas without code generation - <AUTHOR> https://github.com/ostrowr/ts-json-validator <comment><AUTHOR> This library allows you to write code that generates Typescript type/JSON schema pairs <T, s> such that

1\. Any type that s can validate is assignable to T

2\. As few objects as possible that are assignable to T cannot be validated by s.

This allows you to write JSON schemas and use the corresponding Typescript type without having to resort to code generation, maintaining two types side- by-side, or re-writing a whole JSON schema validator in something like io-ts.

Hope it's useful to someone!</comment>


Ask HN: YC company walked away with customer funds – alert YC? - <AUTHOR> Hey HN community - Before I fill out the general contact form for YC, I thought I'd check here first.
My situation is that I haven't been able to get in touch with the founders of a YC company for a few months after engaging them on a project, signing agreements, and wiring them a considerable sum of money (tens of thousands).
The last communication from the company was an informal email from the CEO in July saying they were dealing with funding issues, but that's the last I heard from them, which feels totally unacceptable.
Is there a channel for communicating this type of issue directly with YC? <comment><USER2> Feel free to drop me an email. firstname.lastname@example.com

</comment><comment><USER3> This isn't the place for this. Get a lawyer and contact them. HN isn't a place to get in touch with YC companies for issues with them.

<comment><USER4> I believe OP is asking for advice on whether to contact YC about a problem they've had with a YC company, rather than trying to get a response on HN from the company.

I'm generally curious about this as well, does anybody know if there's a precedent for YC acting as an intermediary between customers and YC companies?

</comment></comment><comment><USER5> YC is a minority stake investor, not their boss or board member.

It seems that what you are looking at is a breach of contract where the company did not deliver what they agreed to deliver.

If the company ran out of money, they are probably a dead company/ bankrupt and have or will shut down. They are unlikely to be able to return the money or deliver, and you could end up either trying to sue a company that is dead and/or pierce the corporate veil alleging fraud.

Check with your lawyers.

</comment><comment><USER6> You don't provide much details. Did you engage them in a contract or are they holding customers money? (aka digital bank). You need to understand that they are a commercial company and like all other companies can fail to deliver or go bankrupt if they don't have sufficient funding. Check the terms of your contract with them.

YC, HN has nothing to do with it, though.

</comment><comment><USER7> Sounds like you need a lawyer first.</comment>


US-born game developer sentenced to death in Iran - <AUTHOR> http://arstechnica.com/gaming/news/2012/01/us-born-game-developer-sentenced-to-death-in-iran.ars <comment><USER2> Just curious, the FreeAmir website directs all correspondence to the "David House Agency", whose website claims expertise in dealing with things like this. But they didn't seem to exist until very recently -- nothing on archive.org, and whois shows the first registration was in October 2011. Am I wrong to find that strange?

</comment><comment><USER2> Just a side note to this terrible story, but this should be the proof that games are speech.

If a government is willing to kill you for how you arranged some bits, it's probably a medium worthy of First Amendment protection.</comment>


2048 gestures - <AUTHOR> http://swish.gianlucatursi.com/#

<comment><USER2> The title "2048 gestures" does not seem to describe this game very well.

<comment><AUTHOR> i know.. I did not know how to describe it because the idea came to me playing 2048 because you make those same gestures. Sorry</comment></comment>


Show HN: Funky – Easier, flexible, and more interactive shell functions - <AUTHOR> https://github.com/bbugyi200/funky <comment><USER2> "Python Meets ZSH" is a very weird way to describe this. What this looks like is more of a zsh alias/function manager.

Which is pretty cool, btw! But if you are actually interested in "Python Meets ZSH", have a look at Xonsh instead :)

[https://xon.sh/](https://xon.sh/)

<comment><USER3> You beat me to it, was gonna mention xonsh too...

</comment></comment><comment> your-nanny took me forever to actually figure out what this software is supposed to do. the gif intro was too fast and hard to read on my phone. consider adding one or two sentences summarising project

<comment><USER4> Could you explain it then? Just gave up after a few moments...

<comment><AUTHOR> Funky manages funks, which are just basically (exactly really) shell functions. What makes them cool is how easy they are to define and the way that Funky manages them.

One of it's key features is that it enables you to define shell functions that are local to a specific directory, but Funky also does a bit more behind the scenes to add some value. For example it also:

* Checks for aliases of the same name and disables them if any exist (this can cause annoying ZSH errors if you tried to define the function manually).

* Appends special bash paraemeters (e.g. "$@") when appropriate so funks act more like aliases without the drawbacks.

* Tries to predict how ZSH completion should be defined, running a `compdef` command if it succeeds. (It needs a little more work in this area I think.)

And I think there's definitely some potential for greater functionality going forward.

</comment></comment></comment><comment><USER5> Nice, I'll give a try :-) IMO it's another step toward a transformation from classic shells to modern REPL, xonsh is one, eshell (Emacs) is another and probably many others exists.

Traditional shells have some nice things mostly due to the power of UNIX software, but also limitations for the very same reason.

Personally having choose to live in Emacs I notice a significant reduction of shell usage, eshell included, but it still can't substitute a real terminal for me, I tried xonsh and find the same: sometime python power rocks, sometimes does not. Perhaps we still need many new step before achieve a new game changing interface...

</comment><comment><USER6> What the hell is a "funk"?

I'm getting tired of people making up ad-hoc cutesy names for no reason whatsoever. E.g. why do we call Rust packages "crates"?

<comment><USER7> Technically, rust's packages are called packages, and they're made up of one or more crates.

"Compilation unit" just doesn't roll off the tounge the same way as "crate."

(And "funk" is how many pronounce "func" as in "function", they're using the short name to reinforce the tool's name. That's not "no reason.")

<comment><USER8> But a lot of people already know what a "compilation unit" is, or have heard of it, or have some intuition for what it means. So why make up a new word for it?

"Rolls off the tongue" is at best an "eh" reason, at worst just an opinion about how a word sounds to some people, which isn't a very strong argument for coming up with new words.

<comment><USER7> Naming things is a classically hard problem in our field. There's always room to improve.

<comment><USER8> So why is "crate" such an improvement over "compilation unit" that it warrants inventing a new term? Especially when a large number of engineers learning Rust come from a language that uses "compilation unit"?

<comment><USER7> More come from those that don't than those that do, these days.

Conciseness is a virtue. Additionally, "compilation unit" can also be misleading; for example, incremental recompilation compiles just a portion of a compilation unit, so it's not really a unit anymore.

</comment></comment></comment></comment></comment></comment><comment><USER9> How is this any better than the usual bash C-x C-e?</comment>


LADbible Is the Most Popular Publisher on Facebook - <AUTHOR> https://slate.com/technology/2018/10/a-british-lad-mags-social-media-dominance-reminds-us-that-the-social-network-was-never-really-meant-to-be-a-news-site.html <comment><USER2> Their content playbook is straight out of early BuzzFeed/9gag. "Borrow" original content from Facebook/Twitter/Reddit/Snapchat/etc before anyone notices, and repurpose it in any way that makes it go viral (controversy, humor, sex, etc).

<comment><USER3> It's a common tactic. Ebaumsworld and Newgrounds both got popular 15 years ago through the same methods.

<comment><USER4> You can rewind to the birth of MTV 15 years before that.

"I Want My MTV" by Tannenbaum and Marks is a great book. Think of it as the bible of what a successful marketing execs wants to achieve.

It's not a common tactic. It is the BASIS of consumer culture. Give people what they want. Target their senses not their minds.

It's how you get everything from the global spread of Pepsi to McDonalds to Starbucks to Apple to Hollywood to the Kardashians having 200 million teenage girls globally wanting to grow up to be like them.

Consumer culture is based on giving people what they want. And labeling it Freedom.

<comment><USER5> And now, let's repeat the Non-Conformist Oath!

<comment><USER6> I once watched Jello Biafra lead a crowd in a "we wont follow orders" chant. The irony was literally and figuritively deafaning. Nothing more stuck up than the in-crowd of outcasts.

</comment></comment></comment></comment></comment><comment><USER7> The article was posted one day after Unilad (the 4th most popular publisher according to this article) went into administration: [https://www.bbc.co.uk/news/business-45744028](https://www.bbc.co.uk/news/business-45744028)

<comment><USER8> For the Americans here, Administration is the common law equivalent of Bankruptcy.

</comment></comment><comment><USER9> > _In other words, Facebook isn't holding itself to the same standards on > which it's being judged by critics who'd like to see reputable, serious news > organizations dominating the feed._

Does anyone actually want that? It's a _social_ network, I doubt there's a large percentage of users who want to see the same mainstream news that dominates every other platform. I think real users want it to be fun and personal, not "serious".

<comment><USER10> and children just want to eat ice cream.

doesn't mean they should.

<comment><USER11> Do we really want Facebook to be our parents?

<comment><USER10> do we really want facebook to be that guy that says 'yeah sure, eat whatever you want'

<comment><USER12> Yep. Just like the grocery store.

It very soon becomes creepy if someone at the store tells me: I don't think you should eat more pizza this week.

</comment></comment></comment></comment></comment><comment><USER13> As someone who regularly works with CrowdTangle data, I can confirm the article's assertion that LADbible/Unilad's Facebook numbers are nuts.

<comment><USER14> Sadly that would mean that Fox News is #1. Now we know why the US is in the state it's in.

<comment><USER13> For link posts, when LADBible began its inflection in mid-July, it became mostly on par performancewise with the Fox News page (notably, Fox News has 1/2th the Fans).</comment></comment></comment>


Ubuntu Releases IoT Core Platform - <AUTHOR> http://www.technewsworld.com/story/84066.html?rss=1 <comment><USER2> You can also try this on your existing Linux distro by following the KVM instructions at [http://developer.ubuntu.com/en/snappy/start/](http://developer.ubuntu.com/en/snappy/start/)

To use Ubuntu Core, you first need to create an Ubuntu SSO (Single Sign-on) account at [https://login.ubuntu.com/](https://login.ubuntu.com/) and add there your public key (SSH).

Then, when you first boot into Ubuntu Core, it asks for your Ubuntu SSO username in order to retrieve your public key. Finally, you can SSH to the Ubuntu Core instance.

I did not try this on a supported device.</comment>


Even Google forgets to renew its domains - <AUTHOR> https://shkspr.mobi/blog/2020/01/even-google-forgets-to-renew-its-domains/ <comment><USER2> If you're publishing a domain name that is supposed to be an example or test domain, there are some reserved TLDs for that! And you never have to register or maintain them!

[https://tools.ietf.org/id/draft-ellermann-idnabis-test- tlds-...](https://tools.ietf.org/id/draft-ellermann-idnabis-test- tlds-00.xml#rfc.section.2)

domain.example is encouraged for documentation, but you can also use something like example.invalid.

Whenever I review unit tests that have URLs in them, I insist that they use the .invalid TLD. I know that .test is encouraged, but I find that .invalid stands out more when you're browsing a test suite.

The old argument against this was that the average person is really only familiar with .com, .org, and maybe .net, and they wouldn't even recognize something with a less commonly used TLD as a domain name.

But with the rise in popularity of alternate TLDs, I don't think that argument is as persuasive anymore.

<comment><AUTHOR> I think the issue is that they wanted people to check the DNS records of a _real_ site.

<comment> kube-system example.com resolves.

        example.com.            8367    IN      A       18.104.22.168

[https://www.iana.org/domains/reserved](https://www.iana.org/domains/reserved)

</comment></comment></comment><comment><USER3> i once noticed that Google failed to renew SSL to its AI website, and SSL expiry warning was thrown.. 1) Noticed bug.. 2) waited 4 hours, to make sure it is an issue 3) reported bug 4) the issue got fixed 5) got an update next day that it was not a issue (though i had screenshots)

laughed and promised myself that i will never submit another bug to Google ;)

</comment><comment><USER4> > Eventually, Google replaced most references to SpottedFig.org in their > documentation. They inexplicably left this one though

Small nitpick: this is spottedfig dot _com_ , a domain which they still control.

</comment><comment><USER5> I wonder what would happen in terms of traffic level if microsoft ever forgot to renew contoso.com , and somebody registered it and pointed its MX at a mail server they control.

</comment><comment> tekcyb-org I remember way back, I think 2006 or around that time, Google forgot to register Google.com and someone (I think from microsoft) had registered it, then gave it back.

<comment><USER6> Isn't there a 1 month period where you don't own the domain anymore, but no one except for you can buy it?

<comment><USER7> Yeah, the "redemption period" is what you're thinking of. As far as I know, only the person who last owned the domain can get it out of that status (usually at a premium cost). After 30 days, anyone can register it.

[https://www.icann.org/resources/pages/gtld- lifecycle-2012-02...](https://www.icann.org/resources/pages/gtld- lifecycle-2012-02-25-en) has a graphic explaining a typical domain lifecycle.

</comment></comment></comment><comment><USER8> tl;dr: google used a domain in documentation but forgot to renew it. Instead of reclaiming ownership of the domain, they updated their docs.</comment>


(Slashdot successor) What Have We Created?  - <AUTHOR> http://soylentnews.org/article.pl?sid=14/02/20/1936232

<comment><USER2> They created Slashdot, with a different name. At least, that is what it seems.</comment>


Dealing with the Reality That Not Everyone Can Succeed - <AUTHOR> http://quillette.com/2017/02/06/dealing-with-the-reality-that-not-everyone-can-succeed/ <comment><USER2> This implies that there is "one" success, not measured by one's own personal beliefs. But rather how they seem to one person to stack up against others, biased by the observer's definition of success. I'm successful in many ways, those do not include money or academia, which in my opinion has been tainted by the oligarchs to only include those successes they deem important to the continued herding of humans as a cash crop.</comment>


What a Monad is not - <AUTHOR> http://www.haskell.org/haskellwiki/What_a_Monad_is_not <comment><USER2> Also, a Monad is not a "thing", it's a property of a thing. "Monad" is a type _class_ , not a type.

What follows is that Monads are not containers; you don't store a value in your Monad, you store it in your List. The List just happens to be a monad. (Similarly, you can't store a ball inside your "Red", but you can store it in a "Red Box". The fact that the box is red has nothing to do with its ability to be a container. If you paint a piece of paper red, it does not suddenly become a container.)

(Side note: it happens that Monads are Functors, and Functors are logically containers... but remember, the Monad or Functor instance is not what makes something a container; something is a container because of its underlying type. "Monad" is a property possessed by certain containers, just as "Red" is a property possessed by certain other containers. Oh, and please don't make me insert a joke about Red/Black trees here...)

Put simply; Monad = adjective, not Monad = noun. It took me like two years to come to terms with this, but now that I have, Haskell is one of the easiest- to-use programming languages I know.

<comment><USER3> "Also, a Monad is not a 'thing', it's a property of a thing. "Monad" is a typeclass, not a type. What follows is that Monads are not containers;"

Thanks for this observation, however you (in your comment) and everyone else uses the word "monad" as a noun. Hence much confusion.

"The List just happens to be a monad. "

Why not say "The List just happens to be monadic", rather than saying it _is_ a monad?

<comment><USER2> _Thanks for this observation, however you (in your comment) and everyone else uses the word "monad" as a noun. Hence much confusion._

I agree with you here 100%. I was confused for years for this exact reason.

I tried avoiding the noun form for a while, but the problem is that while it's technically correct, nobody "in the know" quite understands what you are talking about. "Why didn't he just call it a Monad?"

 _Why not say "The List just happens to be monadic", rather than saying it is a monad?_

I should have.

</comment></comment></comment><comment><USER4> I haven't worked much with Haskell, but at first blush, monads to me seem almost like a perverse functional converse to Greenspun's 10th Law. Haskell is purely functional, which imposes programing constraints, but of course it's turing-complete so it can still do anything a procedural language can. In the limit case, it can use denotational semantics to describe an emulation of a state-based program. And that's what a monad is (or at least, that's what they look like to me): a DSL for denotational semantics.

Altogether, that's probably for the better. If people are going to use denotational semantics to emulate a state-capabale environment, it's better if the method for doing so is standardized, well-specified, and optimized.

<comment><USER2> _If people are going to use denotational semantics to emulate a state-capabale environment, it's better if the method for doing so is standardized, well- specified, and optimized._

I am not following you here. State is nothing special, except that it is something made special by most popular programming languages. (Where it causes lots of fun problems.)

I am also not sure that "Monads" are optimized any more than any other function application. Monadic state-passing is syntax sugar more than anything else. (With other languages, state is "something else"; lexical environments, dynamic environments, and so on.)

<comment><USER5> _State is nothing special, except that it is something made special by most popular programming languages. (Where it causes lots of fun problems.)_

With very elementary design decisions, mutable state is very much manageable in the most popular languages.

Hiding state maintenance through a monad solves very little, while throwing performance out of the window. Yeah, you can get performance out of a lazy functional language, but the hoops you have to jump through are not worth it.

Ocaml is eager functional, and IMHO is a very nice compromise between expressibility and purity. Now if only its type system was as capable as haskell, and only if it had multi processor support :(

<comment> loup-vaillant "Now if only its type system was as capable as haskell"

One of the reasons is precisely the "impurity" of the language. I am referring to the value restriction, which inserts `'_a` (which means "because of possible side effects, this value won't have a polymorphic type, sorry") sometimes when you do partial applications (even ones without any side effect). It bit me once when I tried to do FRP (Yampa-style) in Ocaml. I couldn't define some of the operators (time) in a modular way (in terms of integral) without losing polymorphism.

Another reason has to do with the fact that Ocaml is strict. I tried to define a mini "batteries" module with purely functional lazy lists instead of destructive streams (the enumeration). There is simply no way to define map or filter in terms of fold without losing laziness, or seriously polluting the type of fold, map, and filter. This can still be regarded as a type system issue : if strict and lazy types were compatible, as they are in Haskell, it wouldn't have been such a problem.

</comment></comment></comment></comment><comment><USER6> While I grant that the ML family of languages implements some truly brilliant ideas, ...

... blog posts like this remind me why I love Tcl/Tk and shell scripting.

It is embarrassing, but I always prefer the raccoon to the panda bear.</comment>


Database Versioning - <AUTHOR> http://adam.blog.heroku.com/past/2009/3/2/database_versioning/

<comment><USER2> I'm the original author and current maintainer of DataMapper's migrations. I had a reply written up, but it ended up being really long, so I wrote a reply blog post instead. I'm not trying to drive traffic to my blog, because I don't care, but here's a link: <http://www.theamazingrando.com/blog/?p=86>

Essentially, DataMapper already provides the solution that Adam outlines in his post; Replace schema.yml with DataMapper model definitions, and have the discipline to not write data migrations. Write specs for your migrations, like everything else, and use DM migrations' sane versioning, rather than AR's irritating one, and you should be fine. There a definetly improvements to be made with DM migrations, to be sure, but I feel like I got the underlying design mostly right.

<comment><USER3> That's what I was thinking while I was reading the original post. Datamapper solves the problem awesome, provided you think the schema should be driven based on the generated model properties instead of magically defined in the schema and automatically mapped.

Datamapper migrations are perfect since they focus on one time runnable data migrations, or a bulk schema per release, instead of having a huge chain of tiny schema tweaks that can go back and forward.

</comment></comment><comment><USER4> Database migration has been solved for a long time. This author is having trouble getting his head around it because he's starting from flawed assumptions, and is limited by his choice of tools.

Here's how you do it:

      - every database has a build number stamped into it
      - every schema change goes into a change script called build_105-106.sql
      - changes are applied to the dev database as they are made
      - the automated build pins the change script and runs it against an integration database
      - a schema diff tool is used to compare dev and integration schemas.  if they don't match, the build breaks.
      - the build creates a file called build_106-107.sql and sticks it into source control

There's simply no way you can get your schemas out of synch this way. If you screw up and commit a change straight to dev without scripting out the change, it will break the next build and it will hurt to fix it. You'll learn quickly not to try to shortcut the process. (It's really not that hard a process anyway).

But the big thing the author is getting wrong is that he's trying to define schema from his application. His ORM seems to be generating both code and schema from config files, which seems a bit silly from an outsider's viewpoint. It's causing him a lot of pain and he doesn't understand why.

Define the schema in the schema. Generate your code from that. Problem solved.

<comment><USER5> Thats for people using SQL. ORMs screw the entire process up. Another reason why ORMs are a bad idea.

ORMs are basically trying to recreate SQL in their own special non-portable immature bug-ridden manner. Thus, even the schema has to be defined in the ORM and that is where the problem comes in.

<comment><USER4> Yeah, I never understood why most ORMs do things that way. Why the extra config file to define everything? You can infer everything you need to build an object model directly from the database schema. It's just as easy, if not easier, to read programmatically than XML. And it's every bit as descriptive.

<comment><USER6> If you're using a config file to define things, it's generally the case that it's defining the schema as well and the database is built programatically on top of it. So it's really just a matter of taste: some frameworks have you manipulate the DB schema directly and then build the ORM representation off of the DB, whereas others have you directly define the ORM representation and then build the database off of it. Either way there's no real duplication, and there's still just one place to modify if you need to change the schema/ORM mapping.

In our case we have a config file because A) it makes it easier to abstract the schema across different databases and B) we have extra metadata in there above and beyond just the schema information.

<comment><USER4> I guess that's the luxury of being a shop that builds software vs. a shop that builds open source ORMs. We can target a single DB and technology, and not need to cater to thousands of angry devs with different naming conventions and religious views as to the virtues of Postgre vs MySql.

Wrapping a relational database with an object layer is really a simple, straightforward problem. It surprising that so many smart people feel compelled to spend so much time and effort engineering overly complex solutions to it.

<comment><USER6> Well, I work at a shop that builds software, but it's installed enterprise software, which means we don't fully control the deployment platform and have to support multiple databases. Control of the deployment model is definitely a huge, huge plus of a SaaS model, but the economics don't really work out for that in our industry. We also happen to write our own (currently closed- source) ORM framework to build on top of. One of the nice things about building our own framework is that we only have to deal with the complexities that we care about (i.e. our sort of performance requirements, our sort of object graphs, the databases our customers need).

The problem with pretty much any kind of framework, ORM or not, is that eventually it becomes bloated by being flexible enough to meet the requirements of thousands of different developers, meaning that any given one of them only ever uses a small percentage of the overall functional footprint. Keeping things simple yet powerful is definitely the hardest part about it all, especially given that different users have vastly different opinions about what's simple or what power they need.

<comment><USER4> Indeed. Building frameworks for other people just doesn't sound like any fun at all. We also rolled our own thing in house, and every once in a while we start thinking thoughts about polishing it up and releasing it to the world.

But the amount of polish that you need to turn an in-house thing into an open source project is just immense. And worse, by the time you have it flexible enough to handle every possible use case, you've bloated it out to the point where it's no fun to use anymore. Pick pretty much any off the shelf ORM to see the end result of that path.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> What he's imagining is somewhat close to what we do with our currently- internal (hopefully open source some day) ORM framework (which is on Java). Our schema is defined as metadata in XML, and we build a checksum off the XML to compare against what's in the database in order to know when to upgrade. To ensure the stability of the checksum, it's built off of a filtered, sorted version of the XML DOM tree, rather than the actual files. Not all changes to the files will affect the checksum, since certain bits of the metadata don't affect the data or the schema.

We do still use explicit version numbering for version triggers (our name for migrations), since it's just too hard if the numbers aren't meaningful. If you just used a checksum, how would you know if A248B5FC comes before or after 3F56EB2? It's a little easier if you can say "the DB is at version 23, and the latest is version 26, so we need to run these three triggers." The database stores both the metadata checksum as a hash and a version number; if the hash changes without the version number changing, we at least know that's an error and can detect it. Certain types of changes (like adding a nullable column) we handle automatically by diffing the current schema against the actual DB schema, while anything more complicated (and anything that touches the data) requires an explicit trigger.

Since we build deployed enterprise software that gets upgraded on the scale of years, not days or weeks, we also follow the course of using triggers only on production databases. It's still not really a perfect solution for all sorts of reasons I could go into, but it's interesting that we ended up pretty close to what he's proposing.

</comment><comment><USER7> When I was working with migrations and ActiveRecord a couple of years ago, we just treated the production database as authoritative. We basically used migrations as disposable chunks of code that would transform the database from state a to state b. If a migration from 3 months ago didn't work anymore it really didn't matter, as the production database was well beyond that point anyway. When we needed to test the migrations, we'd load the most recent backup of the production database into our dev dbs and try it out.

But we did have the luxury of running a (fairly small-scale) website rather than distributing an application.</comment>


Fake - Mac OS X Web Browser Automation and Webapp Testing Made Simple. - <AUTHOR> http://fakeapp.com/ <comment><USER2> The application looks very nice. I wish there was more info about when it will be on sale, rather than just saying that it will expire in August. I don't want to get dependent on it and write my Applescripts just to find them useless when the demo expires.

<comment><USER3> I'd pay for it today. I've tried it out and it seems remarkably stable for an early-release product.

</comment></comment><comment><USER4> Yes, looks pretty clean and intuitive. Here are some caveats are see thought:

\- I don't really like the name Fake.. I thought it was a lying page or something..

\- As I see it.. it kind of make it extremely intuitive for a newbie user to add action.. however, how this newbie user will know the id in the post field..? (Ok, maybe those users will only use the "click" action).. but still, it could be good to separate the action into a beginner mode and advanced mode.. this will make it even easier for no-tech people to use the application.. and maybe make it more powerful for developers to build test suite, etc.

<comment><USER5> Agreed about the name. I passed this link 3-4 times, and only ended up clicking on it because it made its way to the top of HN.

</comment></comment><comment><USER6> What would make this truly epic would be if they offered a secure hosted subscription service that allowed you to upload a script you built with the desktop app and either:

a) run it on a hosted Mac Mini at a specified frequency, with a billing rate based on number of actions/frequency of script execution (aka, someone with a 30 step script who wants their script to run once an hour pays more than someone with a 5 step script who wants their script to run once a day)

b) execute the script on their hosting via a callback url, so I can hook this up to my CI server

This plus flexible notifications (email, SMS, Campfire) would be huge.

<comment><USER7> SauceLabs do something like this, but for Selenium scripts.

</comment></comment><comment><USER8> If I understand how this works, there is a clear use case for using this over say Selinium: flash interaction testing. so assuming you have a fixed dimension site in the fluid browse, you could interact with flash widgets... Right? or am I totally off track here?

For most other functional testing I'd stick to webrat that I can bake into my build script.

But flash testing...I really want to crack that nut.

<comment><USER9> Try eggPlant by TestPlant: <http://www.testplant.com/>

We're using it, and it's the only solution we've found that works well for Flash testing. Costs a bundle, but was worth it to automate our (mostly Flash- based) app...

Also, it doesn't look like Fake would be able to interact with Flash/Flex apps, based on the screenshots. Looks like DOM scripting to me.

<comment><USER10> An open-source alternative to the eggPlant's visual-based testing tool is Sikuli: <http://groups.csail.mit.edu/uid/sikuli>

And I posted above, you can also use Selenium + Flex-Pilot to test Flash or Flex apps: <http://github.com/admc/flex-pilot-x/> <http://github.com/mde/flex- pilot/>

</comment></comment></comment><comment><USER11> why would someone name their app Fake? It makes me think its an april fools joke.

<comment><USER12> Not that I think the name is _that_ great, but "fake" in this context is used to mean that the app can fake things.

<comment><USER13> It matters a lot more what it sounds like to people who've never heard of it before. It's like if I were to create an app called "Malware", people aren't likely to dig deeper and find out it's a random Malcolm Reynolds quote widget.

"Fake" is such a negative word, were better names taken? "Faux"? "Pseudo"?

<comment><USER14> "Pseudo" is a GUI interface for sudo: <http://personalpages.tds.net/~brian_hill/pseudo.html>

</comment></comment></comment></comment><comment><USER15> Anyone have any experience with both Fake and Selenium that would care to explain the benefits of Fake?

</comment><comment><USER16> app looks interesting.

features which I would ask for

a) headless runner

b) applescript may be usable but could it be integrated with ruby or other programming languages, that I way can make it a driver for my current testing flow

c) logging/debugging capability

d) and of course price it reasonably :)

<comment><USER17> Doing headless integration testing really is superior. Requiring one machine per concurrent test isn't scalable. Sure, works great for your weekly/daily test. But if you want integration testing to run at every commit it's not going to work.

I've done some experimenting with Celerity (headless integration testing with JS support) and it works quite well. Can even emulate CSS and it scales much better. One thread becomes one test. So running 50 tests in parallel on one machine is no problem. This really is a requirement for me if you want it to work with CI.

Celerity is based on Watir (similar to Selenium) and Ruby. See <http://celerity.rubyforge.org/>

</comment></comment><comment><USER18> I don't see what this possibly has over webdriver/selenium for anyone that can code.

<comment><USER19> While your comment is a bit snarky, I too wonder how it compares to Selenium before I give it a try when I get home.

</comment></comment><comment><USER20> This is beautiful. I love that it saves its steps as an OS X plist file.

<comment><USER3> I believe this is a consequence of using the CoreData defaults. I hope the author leaves it this way. That would allow me to output automated tests from scripts.

</comment></comment><comment><USER21> I hope this continues to develop.

At the moment it seems there is a need to know the ids/classes of your entire page by heart - or resort to looking at your own source, it would make it _much_ less painful if when you click in a box that expects an element ID that your cursor could then be used to click an element, to generate the xpath (like webinspector/firebug).

</comment><comment><USER22> SSL appears to be broken, sadly.

Interesting app though - have been a heavy user of Selenium for testing but building the scripts has been time intensive and generally is done by the QA team rather than by devs. If the UI for building these tests gets better, then devs may end up building tests for themselves rather than expecting someone else to do it.

<comment><USER22> See [http://groups.google.com/group/fakeapp/browse_thread/thread/...](http://groups.google.com/group/fakeapp/browse_thread/thread/a14ddab125d202e8) for the workaround that got SSL working for me.

(Basically the app currently fails quietly if the SSL certificate doesn't validate, rather than prompting for action.)

</comment></comment><comment><USER23> Look at that, yet another browser automation tool that violates Google's TOS in its demo.

<comment><USER24> I didn't know what you were talking about, so I looked it up. I guess you're referring to this:

> 5.3 You agree not to access (or attempt to access) any of the Services by > any means other than through the interface that is provided by Google, > unless you have been specifically allowed to do so in a separate agreement > with Google. You specifically agree not to access (or attempt to access) any > of the Services through any automated means (including use of scripts or web > crawlers) and shall ensure that you comply with the instructions set out in > any robots.txt file present on the Services.

<comment><USER23> Yeah, sorry about that, I guess that would have made my comment a little less worthless. My interpretation of that clause includes tools such as this, and though it is hardly some gross violation, I do find it amusing.

I know Selenium RC does the same thing in sample scripts for some of its bindings, and I'm pretty sure I've seen it in other tools as well.

</comment></comment></comment><comment><USER25> i'll be curious to see how many people use this for testing and how many end up using it for more nefarious purposes like screen scraping or rigging TIME's 100 most influential people poll.

</comment><comment><USER26> red rock coffee ftw.

<comment><USER27> Maybe HN needs to supply more context when we hit the reply button so that we don't end up replying to the wrong threads.</comment></comment>


Fake pilot flies passengers for thirteen years - <AUTHOR> http://gizmodo.com/5540789/the-guy-who-flew-thousands-of-passengers-as-a-fake-pilot <comment><USER2> Catch Me If You Can.</comment>


Ask HN: Using Twitter to market a SaaS product - <AUTHOR>

I've built a software tool, for personal use. My tool automates a certain procedure that's time-consuming, unpleasant and error-prone. During last year, I came to face this 'pain' 4-5 times, and the tool came handy every time. I now consider transforming my tool to a modest web-based SaaS.
For the last 10 days, I've been monitoring a live search on Twitter. My search catches 2-3 new tweets / day, from users complaining about the exact same 'pain' as they're facing it. (That's only from one set of search keywords, with high specificity / no false positives). Some of the tweeting accounts seem to be influential, and their rants produce 'Me, too' responses, or retweets.
Questions: (1) Could I use the Twitter search result counts to draw inferences about my market size?
(2) Once I've launched, can I engage in (real, non-automated) conversations with each one of these tweeterers, and introduce my product? Or that would be spam?
Additional information: a. My product is not specific to any single niche, such as 'developers'. b. It'll probably be pay-per-use, as opposed to subscription-based: I believe most users would only need it occasionally. c. This would be my first SaaS venture.
Thanks to anyone who takes the time to read. <comment><USER2> > (1) Could I use the Twitter search result counts to draw inferences about my > market size?

Sure, but be aware that "has similar problem" is not the same as "is willing to pay for solution."

> (2) Once I've launched, can I engage in (real, non-automated) conversations > with each one of these tweeterers, and introduce my product?

Of course, why would you need permission for this?</comment>


Ask HN: Hacking ability related to teaching language? - <AUTHOR>

Do you think a person's programming ability is related to the language(s) they learned to code in? If so, what languages are superior and why? <comment><USER2> It would be very tempting for me just to answer "yes, it's very important" or "not, it doesn't matter at all" with appropriate arguments, but I don't think any of those answers could reflect in full what I actually think.

It's very important. Your effectiveness as a programmer depends on which languages you can use when solving problems. Also how easy it will be to extend your program in the future depends (among other things) on which language you've chosen.

If you want a language to reflect your thoughts as directly as possible you may want to use one of the problem-oriented languages (R for statistics, Erlang for fault-toleranse servers, Python for scripts etc).

I think that language _matters_ , because the right chosen one usually increases your efficiency when it comes to writing a specific applicatoin.

It doesn't matter.

In short: it doesn't matter how sharp a sword in your hand is if you are a master of swords.

My current languages-to-learn list is: [Erlang | [Haskell, OCaml, Lisp, Python, R]]

</comment><comment><USER3> Every programmer I know who has learned Lisp (that is, some Lisp dialect) thinks that was very helpful for learning how to think better about approaching programs. It's especially the functional approach to programming that my son misses when, for example, he has to write code for a numerical computing class in MatLab rather than in Haskell, his current favorite language.

</comment><comment><USER4> No, ingenuity isn't restricted to a single language. Besides after you have your eyes opened to new experiences in other languages your first language doesn't matter that much. When you first pick up a new language sure you drag your old programming habits into it but if you make the effort\spend the time in the new language you will pickup its habits after a while.

</comment><comment><USER5> yes, functional languages because they're more mathematical</comment>


The First Computers in East Africa and what became of them (2015) - <AUTHOR> http://owaahh.com/the-first-computers-in-east-africa-and-what-became-of-them/ <comment><USER2> > But the machine in Dar es Salaam disappeared during the 1964 Zanzibar > Revolution. At some point during the upheaval, somebody with knowledge of > how to dismantle the heavy and complicated machine removed it from its known > location. British intelligence later reported that the machine had somehow > made its way to China where it had been carefully disassembled and analyzed > and used as a learning tool for their computer industry.

Thats an interesting ending.

</comment><comment><USER3> _> There was a piece of EAM equipment called a "multiplier" that used valves (predecessor to transistors, designed for use in radios and TVs). This machine could read two numbers out of a punched card, and multiply (or divide) them and punch the result back into different columns in the same card. The problem was that it was not very reliable (valves kept burning out – when you have some hundreds of valves, the chances of one "going" while you are processing some thousand of electricity billing cards is pretty likely)._

Note that they're using the British "valve" for what is typically called a "vacuum tube".

<comment><USER4> That was probably an IBM 604.[1] The 604 was the first piece of electronic computing equipment manufactured and sold in quantity. It's an illustration of the big problem of the era - no good memory devices. The 604 had electronic add, subtract, multiply, divide, and control flow, but was programmed with a plugboard and had punched-card I/O. No place to store data other than a few registers.

Tube failure was more or less under control by then. IBM had a tube R&D center on the Hudson River working on that. They came up with a more reliable tube design and had RCA make the tubes in quantity. Experimental machines like the ENIAC could have big staffs replacing tubes and maintaining the machine, but a commercial product had to have reliable operation.

IBM had people working on electronic computing as early as 1936, but it took over a decade to get to a shippable product. WWII got in the way, of course.

[1] [http://www.columbia.edu/cu/computinghistory/604.html](http://www.columbia.edu/cu/computinghistory/604.html)

</comment></comment><comment><USER5> Saw an obscure early US computer in the museum of a tin mine in China (Gejiu, Yunnan). I believe it was used to calculate trigonometric functions for mine shaft planning. French presence in the late 19th and early 20th centuries gave way in the 1940s to US presence, before communism and modernity.

</comment><comment><USER6> It's kind of weird to think about nuclear reactors being older than computers...particularly in Africa.

<comment><USER7> To be fair, Africa has quite the lead on that one!

[https://www.atlasobscura.com/places/oklo- reactor](https://www.atlasobscura.com/places/oklo-reactor)

</comment></comment><comment><USER8> > As part of the British Empire, East Africa used some of the...

Minor correction,only parts of east africa were British colonies.

<comment><USER9> Exactly. More precisely, Uganda, Tanzania and Kenya. Other

</comment></comment><comment><USER10> What a fun article. Starts in the late 1800s and includes problems where computers go down because of snake shooting.</comment>


An introduction to the power of *nix - <AUTHOR> http://theunixtoolbox.com/the-unix-toolbox/

<comment><USER2> No double-quotes around expansions, piping the output of ls and cat... This article needs som revision.

</comment><comment><USER3> wow seriously, *nix instead of Unix? i feel like in the late 90s

<comment><USER3> and yes, i have seen his explanation in the text. Please chill</comment></comment>