Ask HN: Would a "National Fire Drill" save more lives than it cost? - <AUTHOR>

In the wake of the Ebola outbreak, it occurred to me that there is a slim possibility travel and "physical interactions" might actually be imposed.
It also occurs to me that fire drills help the occupants of buildings to be more calm and better prepared in the event of a real fire.
So would it be possibly to estimate the numbers who would die if we practised a two day shutdown as if an infectious outbreak was occurring - not to train the emergency services but to make sure all us citizens had thought about the many necessities of a shutdown? Got a calor gas cooker or extra twenty tins of tomatoes or ...
There is a (small?) likelihood of harm during such an exercise.  But will the benefits outweigh the cost? <comment><USER3> Fires break out often. We have plenty of experience in how to handle it, and the likely variations.

They also take place in relatively small areas, where it's possible to stagger the training.

It's very hard to practice large-scale events where we don't know the details of how to handle it. A disease transmitted by animals or insects is different than water born is different than through bodily contact, etc.

We have quarantine laws in place, btw. See [http://www.cdc.gov/quarantine/specificlawsregulations.html](http://www.cdc.gov/quarantine/specificlawsregulations.html) . They haven't been used since the Spanish Flu pandemic of 1918-1919.

How often do we need to train in order that everyone has an idea of what to do? Once a year? Once a decade? Without experience giving feedback, how do you judge if it's often enough?

In any case we _know_ that hurricanes come to the Gulf and Atlantic coasts, and we know that people are supposed to keep emergency supplies. Every year there's available training, reminders on grocery bags, mentions in the news shows, etc. We also know that they don't - one need only look at how quickly certain things like batteries are sold out.

If people don't plan for once-every-few-years events, they aren't likely to plan for once-every-century events.

<comment><AUTHOR> The hurricane comparison is a good one - but presumably some of the people who did buy batteries did so because they saw the warning on the shopping bag - and would not if the bag was blank.

I am pretty sure the lessons of crowd behaviour is that the difference between mass riots and calm management is to be measured at the margin. So almost any drills that can prevent a nation breakin down have a lot of value, which is my not very hidden agenda here.

I am also fairly sure that fire drills seem not to evolve with time and experience, makng it hard to believe that just because we cannot measure how effective a drill is in staging off national disaster - the essence has not changed in twenty years by my memory. Despite a down thread comment it seems that preparedness is considered a good thing in itself by fire services.

<comment><USER3> Eh, I can't find pictures of the bags I remember from when I lived in Florida. It's the regular brown paper bags. They would have a suggested shopping list on the side, to help plan before a hurricane comes. They would also have a hurricane tracking map.

It's definitely a early planning thing because it's pointless to get the list of things to buy _after_ you've gone through checkout.

Here's an example I can find - "Prepare for Hurricane Season" coupons for 6/22 to 7/19 (the start of hurricane season) [http://www.iheartpublix.com/2014/06/new-publix-coupons- prepa...](http://www.iheartpublix.com/2014/06/new-publix-coupons-prepare- hurricane-season-valid-622-719/) . Same basic point though - buy staples early because the shelves will quickly be bare if a hurricane is coming.

"almost any drills that can prevent a nation breakin down have a lot of value"

You need to demonstrate that 1) the nation might break down, 2) there are predictable way(s) that it will break down, 3) there are drills which might prevent that from happening, 4) that a significant proportion (10%? 80%) of the people will participate, and 5) that it's worth the costs, including social effects.

Otherwise (and IMHO) you are worried about fantasy scenarios. And I don't even agree with part 1)

For another historical example, look towards civil defense preparations for nuclear war. Should we still be doing "duck and cover" drills, on the off chance that a nuclear bomb will go off? When I was a kid they tested the civil defense / nuclear missile warning system every month, just in case. I wonder if they still do that now..

Compare that to the fire, tornado, earthquake, tsunami, etc. drills that people do now. Those are more likely, there's more experience with them, and there are specific ways to handle each one.

"fire drills seem not to evolve with time and experience"

The technique for sharpening pencils hasn't changed much either. There's something like 130 years of experience in doing school fire drills. Why should you expect to see big changes in the last 20 years?

<comment><AUTHOR> "National breakdown" does sound extreme, but the damage to "society" by failing to prepare for a hurricane is the sort if level of impact I am thinking of - not World War Z.

But we lack even the minimum levels of putting advice on shopping bags in the vast majority of States and countries. If there is a real need to lock down say two states, is it reasonable to expect the one that regularly has hurricane drills and experience will fare better - I _assume_ so - <USER2> primarily because it's citizens are more prepared for hurricanes and thus _anything_ is slightly easier to deal with.

This is an eminently reasonable position to take IMNSHO - most armies will tell you preparation beats most everything else.

all your points are valid and I am far more convinced than before I started. I guess my only objection is experience has taught me to beware of convincing explanations that I ought to do nothing ... Which barely counts as a rational position.

<comment><USER3> We have state and national organizations which are supposed to prepare for large scale emergencies. They do practice.

"real need to lock down say two states"

Please don't use "lock down". Not only is it tainted with the hyped up fears that schools have to be scared all the time (have you considered what should happen if a fire alarm goes off _during_ a lockdown?), but the correct term is "quarantined". I even linked to the laws regulating quarantine.

"most armies will tell you preparation beats most everything else."

That's begging the question. _Are_ there useful mass-scale preparations? You haven't demonstrated even that there is a predictable way to handle all possible pandemics. We could find out that a pandemic is carried through cat fur, and that the best response is to kill, shave, or vaccinate all of the cats. How do we practice that?

Remember the anthrax attacks? The government gave advice on what people might do in case of attack, including sealing a room with plastic sheeting and duct tape, and suggested that people should stock up with those materials.

Did you do so? Do you have a pile of plastic in storage somewhere in your house. It's only effective if you can put it up within the first few minutes of a biological attack. Have you practiced doing so? What about your neighbors?

Why do you think any mass advice for possible pandemic would be any more successful?

In Switzerland, nearly every home has a bomb shelter, and there are inspections to verify that the shelter is in working condition. Why don't we have those same preparations here? Even in the bomb shelter fads during the Cold War, it wasn't a law and there were no government inspectors for the US. Why did we not do those preparations? Why did we stop doing duck and cover drills?

It's eminently reasonable to assume that your position doesn't hold in the real world.

<comment><AUTHOR> Thank you for pointing out Swiss bomb shelters - I did not know it was that extensive.

I agree about the term lockdown and the fears around schools - not a term I would want to use again in this discussion.

But I cannot help but wonder if the Swiss are right and we, without plastic in our garages, are wrong. But if they are right they have been paying their insurance for fifty years. That's a lot of dividends and no payouts.

<comment><USER3> But you can help it. What is your payoff matrix? How much effort do you think it's worth to prepare for every possible eventuality?

You'll notice that while flight crew give instructions on how to use various safety equipment, they don't actually run through drills where the masks comes down and they check to make sure they are put on correctly; they don't run through drills where the passengers actually leave the aircraft; they don't do all that while dumping simulated smoke in the cabins.

You'll notice that while there are tests of the evacuation alarms around, say, a nuclear power plant, they don't actually run mass tests to see if everyone can evacuate in time. New York City is in the 50-mile evacuation zone for Indian Point Energy Center. And those "plans" are more like "fantasy".

What you can do is read about disaster planning for those different scenario (hurricane, tsunami, nuclear reactor meltdown, bomb shelters, plastic sheeting & duct tape against biological attacks, fire drills, airplane evacuations, etc.), see what the plans are, and figure out why people came to the conclusions that they did. There's no reason to make wild guesses about what you think it should be when there's plenty of material for you to ground your thinking.

Regarding specifically nuclear bomb shelters, read Freeman Dyson's essay at [http://scilib.narod.ru/Physics/Dyson/Weapons_and_Hope/Weapon...](http://scilib.narod.ru/Physics/Dyson/Weapons_and_Hope/Weapons_Hope.htm#chap08) . For the US, a nuclear shelter program could destabilize the arms race, since we would be planning to defend ourselves against Soviet attacks, giving the Soviets cause to think that we would attack them knowing that we would be more likely to survive. The Swiss bomb shelters don't destablize international politics in anything like the same way.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> In my experience, fire drills make people _too_ calm in the event of a fire.

Five years ago, fire alarms rang throughout the office building I was working in. People were nonchalant. Most people left eventually, although some people went back in to pick up some books to read or grab some work to do.

Meanwhile, and to my surprise, there was actually a fire. The fire department showed up, and they were _pissed_ that people weren't taking the alarm seriously.

<comment><USER3> That means your fire drills aren't being run correctly.

Rather, how come this poor behavior wasn't noticed during earlier drills? Did the staff fire warden not have the management support to be able to affect staff behavior?

<comment><USER4> We'd never had a fire drill in this building, but like all Americans we'd been through dozens of fire drills before, mostly in school.

I don't really understand your second question. Our office did not employ or appoint a fire warden. In any case, I was unaware of anyone outside the fire department who was upset.

<comment><USER3> You started with "In my experience, fire drills make people too calm in the event of a fire."

I thought that meant that your building had fire drills, and those previous drills made them too calm.

A real fire drill is more than setting off alarms to see if they work. There are also local fire wardens, which are staff whose job it is to see that people hear the alerts and evacuate, and who make sure that people don't try to re-enter the building.

I've done consulting work for chemical manufacturing companies. A couple required that I go through (pretty basic) training just to work on site. Another had a fire alarm go off at about 6pm, when I and others were still there. Almost evacuated that building (there was some doofus who was on a phone call and refused to leave.)

I was only there for consulting work, and don't know what happened to that person. But if management believes that fire drills, and responding correctly to actual fire alarms, are necessary, then they will reprimand those who don't participate.

But what you experienced was different than I thought. There were no fire drills, people were mostly using their experiences from school/college, and management didn't care.

That's not the same as fire drills making people complacent. It could be that the lack of fire drills making people complacent.

In any case, I'm not suggesting your building needs regular fire drills. Buildings are much safer now they they used to be, and most places don't have fire drills because the cost of running them is worse than the benefits of not. (Chemical companies which store lots of flammable materials on-site, and schools or hospital care facilities with a lot of people who need assistance to evaluate, are exceptions.)

</comment></comment></comment></comment><comment><USER5> In the northern parts, that's called an ice storm. Few people die. Almost anyone can live 2 days without food, and water is normally safe after boiling. I think the bigger problem is that local governments are underfunded and national governments are such bureaucracies that it's nearly impossible to mobilize a rapid and effective response.</comment>


Nokia firmware blunder sent some user data to China - <AUTHOR> https://www.zdnet.com/article/nokia-firmware-blunder-sent-some-user-data-to-china/ <comment><USER2> "Blunder"? Sure.</comment>


Let's Make a Varint - <AUTHOR> https://carlmastrangelo.com/blog/lets-make-a-varint <comment><USER2> This post starts off good, but...

\- The motivation behind this post is storing generated IDs for a site the author is working on. Generated IDs don't have the "smaller values are exponentially more likely" property that make varints useful in the first place.

\- The post rejects UTF-8's variable-length encoding because "it can only store numbers up to 1,112,064". That's the maximum number of unicode code points (...ish). The UTF-8 encoding's actual limit is >10^16. A much better reason to not use UTF-8's encoding is that it was created under pretty heavy backwards-compatibility restrictions that the author doesn't have. For example, there's no need for being self-synchronizing or to be compatible with Boyer-Moore substring searches.

\- The post goes with a length-prefixed encoding, but then uses that length prefix as part of the folder structure (it's using the generated IDs as filepaths). Which is a great way to create an exponential distribution in the sizes of your directories, instead of the uniform one that was the goal.

It's not a _bad_ post, there's facts in there, but I wouldn't recommend bothering with it.

<comment><AUTHOR> Those are all really good points actually. In response to them individually:

\- The problem with generating id's is that it isn't known ahead of time how many there will be. This forces a solution that is suboptimal in all circumstances.

\- The reason for rejecting UTF-8 is mostly backwards compatibility with existing software. Being able to use encoded UTF-8 strings that exceed the million is possible, but really burns a lot of bridges along the way. The point about boyer moore is really cool, I had no idea that was a goal!

\- Having the length in folder structure is exponential, but only at the top most level. It will be uniform under each length dir. This is an acceptable price to pay when typing "ls ./dir", since removing the prefix would make it hard to read quickly:

        0/
        0.jpg
        1/
        1.jpg

</comment></comment><comment><USER3> Something probably not particularly important to the author (given that he's just using these essentially as a serial number), but worth mentioning for general use:

> Varints can represent negative numbers too, by casting them to unsigned > numbers first.

But, assuming you're working with twos-complement numbers, it's going to be really inefficient, because small negative numbers are going to end up represented as extremely large positive numbers (e.g. -1 will map to MAX_INT - 1, where MAX_INT is the largest unsigned value representable in your underlying integer type).

You also lose the unlimited length property if you need to handle twos- complement integers, and your encoding is dependent on the underlying integer type you're serializing from/deserializing to (especially problematic in languages where types are architecture-dependent, like C/C++).

Protobuf handles this by doing what they call "ZigZag encoding" if you declare a value as a signed integer type. This maps small negative numbers to small positive numbers, alternating back and forth like so:

        Original    Encoded
           0          0
          -1          1
           1          2
          -2          3
           2          4

and so on.

The catch is that you lose sortability if you do this... if you're going to have a bunch of negative numbers and need their encoded versions to sort correctly, you'll need to do something else. (Of course, you'll need to with twos-complement numbers, too, given that -1 will appear to be greater than 1).

Protobuf documentation on ZigZag encoding: [https://developers.google.com/protocol- buffers/docs/encoding...](https://developers.google.com/protocol- buffers/docs/encoding#signed-integers)

<comment><USER4> FWIW the protobuf varint encoding was seen as a mistake by the inventor. [https://groups.google.com/d/msg/capnproto/Qxw7YSoPP18/HS06Kc...](https://groups.google.com/d/msg/capnproto/Qxw7YSoPP18/HS06KchMpIQJ)

<comment><USER5> First of all, I believe that Kenton Varda is not the inventor of protobuffs, but rather a Google engineer who did a bunch of work on Protobuffs v2 (I believe on both of the v2 specs for protobuffs, because there are two different v2s). He is certainly quite knowledgeable, but not "the inventor".

Second, while he does characterize it as a "huge mistake" for encoding/decoding performance reasons, there are a few caveats that are obvious here.

1) Half of his remarks here explain why varints are inappropriate for CapnProto, a separate project of his, inspired by his experience with protobuffs. CP has different design goals than PB, and in that context varints are inappropriate. Fine.

2) His argument here against varints in protobuffs (as contrasted with in capnproto) is only that they cost CPU time (and thus latency). That's surely true, but it's not at all clear to me that he's right that this is, in general, the wrong performance tradeoff.

3) In general, if you want to represent a long-tailed distribution of numbers, some variable-length encoding has merits, because the alternative (that protobuffs promote, IIUC) are fixed-width ints, which means you waste a lot of space to accommodate your long tail, and even so you might not have allocated enough space for the largest integer you ever need to handle.

<comment><USER6> FWIW, before I even joined Google, there were notes from Sanjay (the actual inventor) saying that varint was a poorly-chosen format due to excessive branching. IIRC he was arguing for a format where you can tell the length based on the first byte although I don't completely remember. In theory you could design such a format that is just as space-efficient as varint, by re- arranging bits.

Protobuf -- like most successful systems -- was not so much "designed" as it was "evolved" as a series of decisions made out of expediency rather than because they were the best possible answer. Overall it has obviously worked extremely well, but I would not assume that just because protobuf does something, it is good. (But I'd say that about just about everything, not just protobuf.)

</comment></comment></comment></comment><comment><USER7> The references in the article don't reflect the latest research. So far as I know, this is close to state of the art:

[https://github.com/lemire/JavaFastPFOR](https://github.com/lemire/JavaFastPFOR)

The links to the papers in the readme are useful if you want to learn more.

</comment><comment><USER8> "No "u", (and no "o" or "i") so accidental profanity cannot happen."

h0ly fvcking sh1t!

It's a good try, and making all the letters lowercase makes the numbers as vowels less legible. But if you're creating random strings you will create profanity and slurs.

<comment><USER9> If you're generating alphanumeric IDs, removing I, O, and U from your alphabet _really does_ decrease the likelihood of the ID being perceived as English profanity.

Sure, nothing involving letters will be perfect, but this is something to take into account. You can choose a level of risk in your IDs somewhere between purely numeric IDs and the Automated Curse Generator [1].

[1] [http://thedailywtf.com/articles/The-Automated-Curse- Generato...](http://thedailywtf.com/articles/The-Automated-Curse-Generator)

<comment><USER8> That's why I said it was a good try. I don't think it's a bad idea, but if you ever wanted to push the needle close to zero, you would have to add some other layer of checking.

</comment></comment></comment><comment><USER10> Varints are widely used in databases. [https://www.sqlite.org/src4/doc/trunk/www/varint.wiki](https://www.sqlite.org/src4/doc/trunk/www/varint.wiki)</comment>


Why physicists still use Fortran - <AUTHOR> http://www.moreisdifferent.com/2015/07/16/why-physicsts-still-use-fortran/ <comment><USER2> Fortran is an excellent choice for numerical computation. Its non-aliasing assumption allows for compiler optimizations that dramatically speed up computations. It is even easy to get started with concurrent code through OpenMP. When I need to run a simulation or a discontinuous optimization algorithm, I turn to Fortran first.

Here are some resources I have collected over the years.

"Introduction to Modern Fortran" (Fortran 2003): [http://people.ds.cam.ac.uk/nmm1/Fortran/index.html](http://people.ds.cam.ac.uk/nmm1/Fortran/index.html)

Fortran Wiki: [http://fortranwiki.org/fortran/show/HomePage](http://fortranwiki.org/fortran/show/HomePage)

List of Fortran tutorials: [http://www.fortran.com/the-fortran-company- homepage/fortran-...](http://www.fortran.com/the-fortran-company- homepage/fortran-tutorials/)

Fortran vs. C: [http://www-cs- students.stanford.edu/~blynn/c/fortran.html](http://www-cs- students.stanford.edu/~blynn/c/fortran.html)

Fortran's influence on C's "restrict" keyword: [http://www.drdobbs.com/the- new-c-it-all-began-with-fortran/1...](http://www.drdobbs.com/the-new-c-it-all- began-with-fortran/184401313)

<comment><USER3> I have one question - if I compile and link a program written in C and Fortran, can the linker inline Fortran functions in C? I know it can do it if I link object files produced from C source, but can it do it if I link object files from separate languages?

<comment><USER4> Having never done it with Fortran, I don't know. It should be possible, because e.g. on Linux, everything adheres to the ABI. However, the ABI doesn't specify how to interpret pointers AFAIK. Array ordering [0] and indexing is different in Fortran compared to C, so I'm sure there's pitfalls you'd have to account for.

[0] [https://en.wikipedia.org/wiki/Row-_and_column- major_order](https://en.wikipedia.org/wiki/Row-_and_column-major_order)

<comment><USER5> Fortran arrays can be indexed however you like. Code that is designed to be called from C can be written with 0 indexed arrays.

<comment><USER4> Sure, but you still have to remember to do so :)

</comment></comment></comment></comment></comment><comment><USER6> Fortran is still better at multidimensional arrays. Other than Matlab, few other languages do multidimensional arrays at all. C-derived languages use arrays of arrays, and use templates, macros, or objects for multidimensional arrays. Fortran optimizers have lots of multidimensional array-oriented optimizations which other compilers usually lack.

I tried to talk the Go and Rust people into putting in multidimensional arrays, but the discussion degenerated into bikeshedding, with arguments for fancy but slower representations so you could take arbitrary N-dimensional slices from a multidimensional array.

<comment><USER7> > I tried to talk the Go and Rust people into putting in multidimensional > arrays, but the discussion degenerated into bikeshedding, with arguments for > fancy but slower representations so you could take arbitrary N-dimensional > slices from a multidimensional array.

This is the most frustrating aspect of Rust, to me, as a developer of scientific software. Rust has great potential to challenge Fortran in this domain, but numerics is mostly an afterthought in Rust.

<comment><USER8> Agreed. I want to write numeric software, but don't want to use Fortran or C++. Rust looked great, but I couldn't find anything in this domain.

<comment><USER9> Julia has strong numerical and multi-dimensional array support, but it's JIT compiled. However, once a function is JITted, it has comparable performance to Go & Rust.

<comment><USER10> Yep, Julia is a very nice language with very good performances. But I abandoned it because it is not (yet?) oriented toward library development, and more usable in exploratory style.

I ran into issues a year ago when trying to organize a library with more than 8000 loc, when the "dump everything into a global namespace" started to be more a hassle and less a nice way to get stuff done. I am waiting for it to stabilize a bit before giving a second try.

<comment> photon-torpedo Could you elaborate on why you felt the need to "dump everything into the global namespace"? For quite a long time now, you can use modules in Julia to keep things in separate namespaces. With "import MyModule" (instead of "using MyModule") things will not enter the global namespace, but will need to be qualified, like "MyModule.myfunction(...)". I feel this is very much like Python. You could even introduce abbreviations for the modules, using "const mm = MyModule" (admittedly, Python's "import...as" is cleaner).

<comment><USER10> Yes, but `using MyModule` is (was?) the default and preferred way to use a module. Which is equivalent to recommend everyone to do `from module import *` in Python.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Guy Steele and his group had a really interesting thing going with the language Fortress (name is a nod to Fortran of course, but fortified). It was meant for high productivity as well as high speed (petaflops range). It got shelved after Oracle bought Sun. It was one of the three languages seeded by DARPA funding for high productivity computing

[https://java.net/projects/projectfortress/pages/Home](https://java.net/projects/projectfortress/pages/Home)

[https://blogs.oracle.com/projectfortress/entry/fortress_wrap...](https://blogs.oracle.com/projectfortress/entry/fortress_wrapping_up)

<comment><USER12> > It got shelved after Oracle bought Sun.

Actually the actual real history is little more complex than that.

JuliaCon 2016 (Keynote) | Fortress Features and Lessons Learned | Guy Steele

[https://www.youtube.com/watch?v=EZD3Scuv02g](https://www.youtube.com/watch?v=EZD3Scuv02g)

It would be good if people on HN would separate a bit the Oracle hate with the facts.

<comment><USER11> The causation was certainly not intentionally implied in my comment. I was stating temporal ordering fact. Hold on to your oracle defense response :)

</comment></comment></comment><comment><USER13> It is simply due to apprenticeship. Physicists do research, and their code is research code. Like most other research, the research code is maintained and used in-house. As most in-house non-shared code (in any language), it is impenetrable unless you take apprenticeship. The masters are typically old and FORTRAN is their language and it is the only choice for the apprentices. Once the apprentices graduate and become masters themselves, they further developed their own in-house code and it is inevitably in FORTRAN too. As any over- developed code, it is too expensive to migrate even when the new master recognize the shortcoming. The bottom line, FORTRAN is not bad once you are familiar with (and invested in) it, so FORTRAN persists over another generation of apprentices ...

However, there is slight change. The new generation of masters often do know other languages, so they sometime tolerate their new apprentices to use other language and still able to teach them. So at this point, by far, not all physicists use FORTRAN.

FORTRAN will die out, just takes time.

One of the sticking point is the library BLAS/LAPACK. It is in FORTRAN. Or more precisely, its interface is in FORTRAN. I don't foresee this will change for a long time. So FORTRAN will be like COBOL, it will persist even when no- one really use it anymore.

<comment><USER14> I think that's only party true. Physicists would probably not be _exposed_ to Fortran if it wasn't for "apprenticeship". But the same would be true for any other very domain-specific language (let's say Mathematica). However, that doesn't change the fact that Fortran (in its modern syntax) is a great language for numerics. Its abstractions are extremely well-suited for any computation focusing on multidimensional arrays. It is certainly a more expressive language for numerics than C/C++ (and it's not as easy to shoot yourself in the foot in Fortran). There's not that many other languages that can compete for high performance applications. Julia looks like it can do some interesting things. Python is great as a glue language (but not for number crunching, and of course it's slow). I would still (and regularly do) choose Fortran for new projects. It's not going away anytime soon.

<comment><USER13> Let's see how I may clarify the argument.

First, if one is familiar with a language or invested in a language, he will be biased to choose that language and it makes sense for him. Before you would argue, I admit I can't prove that you are biased, but nor could you prove you are not biased. So let's agree that some anecdotes like your case is not a strong argument.

So let's look at it in another angle. If physicist/people choose FORTRAN not merely due to apprenticeship, it necessarily means that there will be people choose FORTRAN even when his master do not introduce/require him to use FORTRAN. In another word, we need examples of people who choose FORTRAN despite of non-familiarity to FORTRAN. There are plenty of such cases for, e.g. rust. For me at least, I know none such. How about you? For example, how successful have you been influence other people (other than your student) to use FORTRAN? On the other hand, I do know people who choose other language despite of the familiarity of FORTRAN.

<comment><USER14> Of course knowing a programming language strongly biases someone to choose that language in a project. I also agree you will not find a lot of people (if any) using Fortran who have not been introduced to the language as part of their research, following the recommendation of someone senior (e.g. their advisor). However your original argument was that Fortran was only used because advisors were forcing their students to do so, and that Fortran would die out eventually along with those dinosaurs. I don't think this is true, and I don't think the fact that people generally don't just stumble into Fortran by themselves is any evidence to the contrary. As the original article points out, the reason that Fortran continues to be used is that it is the most suitable language for its domain (but of course _not_ as a general purpose language)

The prerequisite for using Fortran is that someone works in a field that relies heavily on large scale, high performance numerical computation. Since Fortran is pervasive in that domain, it's extremely likely the they would be exposed to Fortran through "apprenticeship". Basically, most people who should be using Fortran are using Fortran! I've seen a few instances where people used C/C++ or Matlab in situations where Fortran would have been more appropriate. Matlab has its own drawbacks, but it is also a very domain- specific numerical language, and likewise its users are exposed to it through apprenticeship! C/C++ is still the default language for high performance computing outside of numerics, and thus it's not surprising that people who have not been exposed to Fortran would attempt to use it for numerical purposes as well.

There isn't exactly a lot of choice for numerical programming: Python and Matlab are (partly) designed with numerical purposes in mind, but don't scale to high performance. C/C++ are performant, but not expressive for numerics. There really isn't any other language that would even be in consideration, besides now Julia, but Julia is extremely new, so time will tell.

I don't know anything about Rust, but based on reading its Wikipedia article its not a language designed for numerics, but basically something designed to replace C++ for systems programming. Thus, like C/C++, it will be performant, but not expressive for numerical purposes.

</comment></comment></comment></comment><comment><USER15> > Interestingly, C/C++ beats Fortran on all but two of the benchmarks, > although they are fairly close on most.

Unless I missed something, this directly contradicts the quotes benchmark source[1], where C beat Fortran on all tests except one (where they were tied), and usually by a wide margin. Plus I believe gcc usually produces slower code than Intel's compilers (at least for C), so it's not clear that C-gcc and Fortran-Intel is a fair comparison.

But beyond that, I'm always confused as to why there is a significant difference. I would expect two compiled languages with reasonable compilers to perform almost exactly the same when they're doing nothing but arithmetic operations, since those are almost entirely determined by the CPU, not the cleverness or speed of the standard library algorithms. Can anyone enlighten me?

[1] [https://benchmarksgame.alioth.debian.org/u64q/fortran.html](https://benchmarksgame.alioth.debian.org/u64q/fortran.html)

<comment><USER16> One big difference is the rules on pointers.

In C, if you write code like this:

      void dostufftotwoarrays(int* a, int* b);

Then maybe b is equal to a + 3, so your compiled code has to assume whenever it writes to an element of a, it might have changed an element of b, and so reload b from memory. Alternatively, it can do a bunch of tests at the start of the function, and compile multiple copies of the function for different situations.

In FORTRAN, this isn't possible (you don't tend to pass around raw pointers), so it is much easier for the compiler to reason about what objects might be in the same place, and which aren't.

The restrict keyword goes some way to fixing this in C, but is tricky yo use correctly, and also doesn't solve all problems.

<comment><USER17> Your Fortran summary is incorrect. F77-style arrays _are_ generally passed as a raw pointer (under the hood.) F90-style allocatable arrays are passed as an array descriptor containing size information, again under the hood.

This doesn't affect aliasing in Fortran at all. Aliasing is simply prohibited, which leaves the compiler free to generate code that gets the wrong answer, if the programmer screws up and has actual aliasing at run-time.

<comment><USER16> Apologises, you are right. It's so long since I did Fortran I had misremembered that the language made it impossible to alias, as opposed to it being undefined behaviour.

</comment></comment></comment></comment><comment><USER5> 1\. A program from 30 years ago will compile and run.

2\. As a research student your first program is likely to be a F77 program written by your professor or an older colleague.

3\. A library from 30 years ago can be easily wrapped into a modern program, compiled and run.

4\. Arrays are really the most important thing for this sort of programming and since F90 array level operations have been baked into the language.

5\. It is fairly trivial to write fast Fortran.

6\. Fortran is much easier to use for numerical stuff than c++

</comment><comment><USER18> When I was doing my graduate studies in astrodynamics (spacecraft trajectory design) at Purdue University circa 2003, we worked closely with the Jet Propulsion Lab (JPL) and got to use a lot of their excellent astrodynamics code (used for missions like Galileo and Cassini). It was all Fortran.

I heard that there was an effort at JPL to convert over to using Python. I'm not sure how that went. Maybe they were just writing Python bindings for their Fortran code? I know that much of SciPy consists of Python bindings for Fortran and C code [1].

The software I used to do "nonlinear programming" (i.e. parameter optimization), called NPOPT, was also written in Fortran.

[1] [https://www.scipy.org/scipylib/faq.html#how-can-scipy-be- fas...](https://www.scipy.org/scipylib/faq.html#how-can-scipy-be-fast-if-it- is-written-in-an-interpreted-language-like-python)

<comment><USER19> The Python replacement succeeded - I slightly know the people involved, who got an award for the work. But I don't use the library so I don't know if the wrapper approach was used. That would be perfectly legit IMHO.

</comment></comment><comment><USER20> _" Early Fortran (designated in allcaps as FORTRAN)"_ that would be because it is an acronym "FORmula TRANslator".

Fortran continues to do that well. And as the article mentions scipy doesn't run as fast.

The logical successor to Fortran was APL (Arithmetic Programming Language) but its notation really killed it.

The properties that keep Fortran rolling (easy to start using, effective in translating formulas into computation) persist.

<comment><USER21> I'm ignorant about FORTRAN, have there been attempts to modernize it? Maybe something like coffeescript/typescript?

<comment><USER22> You didn't read the article apparently. Fortran (which officially dropped all caps in the standard in 1990) has had new versions every couple years, up to 2013. Each revision of the language brings modern features into it, and old features go through a process of deprecation and then obsolescence. Most people seem to be unaware that it is an evolving language that has changed significantly since the standard most people are familiar with from 1977. I am a bit biased though: I work on a Fortran compiler, so I've had reason to stay on top of the standards as they come out.

<comment><USER21> I misread that everything was backwards compatible, my bad.

</comment></comment></comment></comment><comment><USER23> The author is I think being a bit unfair to C++ when it comes to matrix/array handling. Their example of things that would be difficult to do in C/C++:

A = B

A = 3.24 * B

C = A * B

B = exp(A)

norm = sqrt(sum(A * * 2))

Quoting:

"Similar C/C++ code simply does not exist ... Having to use libraries instead of intrinsic functions means the resulting code is never as neat, as transferable, or as easy to learn."

While this statement is true, I think strongly undersells how well these kinds of libraries can be "baked" into C++ through operator overloading, templating, etc. See for example, the Eigen library [[http://eigen.tuxfamily.org/](http://eigen.tuxfamily.org/)].

<comment><USER24> here's the problem: These kind of libraries will never come close touching Fortran's built-in features, simply because the compiler can't automatically optimise for knowledge about the code that only the library has. Even arrays not knowing their size is still an issue, let alone array based ops like shown in the article.

Fortran is not the fastest language around the block, but if you don't want to go into non-portable machine-based hand-tuned optimisations (e.g. loop unrolling) it's hard to beat. Basically, if you optimise for both runtime and programmer time for HPC applications I'd argue that Fortran is top of the crop.

<comment><USER25> I don't think this is true. C++ matrix template libraries are competitive with anything that Fortran can do.

</comment></comment></comment><comment><USER26> > If a function that takes a 'real' is fed a 'const real', it will return an > error. It is easy to imagine how this can lead to problems with > interoperability between codes.

What's he talking about? This is wrong!

</comment><comment><USER27> One interesting fact that supports the point of the article is that Matlab is actually using the Fortran code for its implementation of special functions [https://www.mathworks.com/matlabcentral/fileexchange/6218-co...](https://www.mathworks.com/matlabcentral/fileexchange/6218-computation- of-special-functions).

The amount of existing scientific code in Fortran is huge and there's a chicken and egg situation (new code uses/extends old code so new code will _also_ be in Fortran) that will lead to further increasing it!

<comment><USER28> Matlab also uses MKL (written in fortran, with a heavy dose of assembler) for its blas routines I believe.

</comment></comment><comment><USER29> It's funny that someone has to write an article to defend modern FORTRAN to people who write in _JavaScript_ , which is the best proof we programmers have of entropy.

<comment><USER30> It's funny that in every discussion of programming languages that have nothing to do with Javascript, there's always some smug bastard bashing it.

<comment><USER29> Because it's really that bad, and we all have to use it because somehow, Brendan Eich's cocktail-napkin language became the VM of the web.

<comment><USER31> Yes, and what does that have to do with this article? If you come to a discussion about thing _x_ to complain about thing _y_ , no matter how valid your complaint you are out of order.

To quote The Dude: "You're not wrong, you're just an asshole."

<comment><USER32> _Yes, and what does that have to do with this article?_

Excellent question, glad you asked! Just what do you think all the people who are asking why Fortran is still in use are using?

My money is on the bet that they're not using Fortran. I've worked in the finite element analysis / high performance computing fields for quite a few years and I've never heard anyone who used Fortran complain that they were, or had to use it. Could it be that it's because people like that they get high performance from a language out of the box?

</comment></comment></comment></comment></comment><comment><USER33> Even if you are using python, R or java you are still best off linking to matrix subroutines in fortran if you want to solve or diagonalize, get eigenvalues and such. This is not just about raw performance but also correctness, ecology of roundoff errors, etc.

<comment><USER34> For Python, at least, the most popular numeric computation library (NumPy) uses a fair bit of Fortran under the hood. I'm not certain whether the matrix operations do, but it certainly wouldn't surprise me.

<comment><USER35> Doesn't NumPy just use BLAS and LAPACK for matrix operations?

<comment><USER36> The vast majority of BLAS and LAPACK are written in Fortran (at least, the ones provided by netlib.org). Github also reports that OpenBLAS is around 50% Fortran, so there's quite a bit there too [1]. Usually when you call BLAS functions from C you're really calling a cBLAS wrapper to some Fortran function. This is generally why you see -lgfortran -lf77blas when you compile programs that require numerical tools.

[1] [https://github.com/xianyi/OpenBLAS](https://github.com/xianyi/OpenBLAS)

<comment><USER37> At least in OpenBLAS, most (all?) of the BLAS routines are C functions that call kernels written in assembly, but many of the LAPACK routines are the Netlib reference Fortran versions.

</comment></comment></comment></comment></comment><comment><USER38> As a physicist please have faith in us. We don't all use Fortran. I use Ruby as much as possible and it's fun because it forces me to write libraries that mimic ones that are found in other languages. So I end up learning a lot.

<comment><USER39> I can recommend looking at Crystal if you have some time over. Very Ruby-like syntax, but compiles down to quite efficient native code.

</comment></comment><comment><USER40> When I was in undergrad I did some computer simulation work for my professor. He programmed in FORTRAN while I had been trained in C/C++. I did my simulations in C/C++ and I also wrote some libraries for his FORTRAN code so he could have more dynamic configuration files. At the time I thought that FORTRAN was an anachronism and was surprised that it was still being used in physics.

This was 1992.

</comment><comment><USER41> What ever happened to the effort to bring Fortran to LLVM (from Los Alamos I think)?

<comment><USER42> Still in development (paid for by LANL, done by PGI):

[https://developer.arm.com/-/media/developer/developers/hpc/f...](https://developer.arm.com/-/media/developer/developers/hpc/files/ARM- HPC-UG-SC16-PGI.pdf?la=en)

</comment></comment><comment><USER43> I've been looking for a Matlab alternative and been disappointed with either the performance or the syntax of Octave, Python, and Julia. I'd known Fortran had modern features and updates every few years, but never tried to pick it up since the excitement seems to be elsewhere. This article is convincing that Fortran is worth trying out.

<comment><USER44> What don't you like about Julia's syntax? Is it more than the 1-based indexing and "end" statements?

<comment><USER9> Agreed, Julia syntax is very clean. Also, you can make it look more math-like with it's support for unicode variable and function names.

</comment></comment></comment><comment><USER45> FORTRAN may be faster but one graph shows Python recently overtaking it in mentions of Astronomy papers [0].

[0] [https://mobile.twitter.com/astrofrog/status/7870072618771660...](https://mobile.twitter.com/astrofrog/status/787007261877166080)

<comment><USER46> A great deal of that is for post-processing, however. Very little python used in the compute heavy pieces of scientific computation.

<comment><USER47> I know a person who works in atmospheric physics group. All the heavy physics simulation and modeling happens in Fortran, and then they do the "lighter" analysis, summary statistics, plots, visualizations, etc with a Python-based stack.

</comment></comment></comment><comment><USER3> I have one issue with the article. The way to dynamically allocate a multidimensional array in C is the following:

      size_t m, n;
      ... set m and n ...
      int (*a)[m][n];
      a = (int(*)[m][n])malloc(sizeof(*a));

Edit: and you MUST NOT REUSE OR OTHERWISE CHANGE m and n FOR THE ENTIRE LIFETIME of the array, because bad things will happen.

And you access it via

      (*a)[x][y]

And you free it with

      free(a);

And if you want to pass it to a function:

      void do_with_array(void* raw_array, size_t m, size_t n) {
        int (*array)[m][n] = (int(*)[m][n])raw_array;
        ... do whatever ...
      }
      do_with_array(a);

And I'd rather do it in Fortran, but if you ever need to do it _properly_ in C (i.e. without using array of pointers) - now you know.

<comment><USER48> Technically you are right.

Practically you are right, but the article is more right than you. I got into some fights with quite a few elite teachers/coders teaching the way of doing 2D arrays exactly as described, and they wouldn't agree the method you describe is less error prone ... because: it is tradition. (And as every person doing research know tradition is not supposed to change and that what science values).

It seems absurd, but so many things are absurd these days I am not even surprised.

<comment><USER3> Oh, the method I describe is _more_ error prone than array of arrays, because if you ever modify the two variables you used to specify the array size, the compiler will just use the new values for array dimensions. If I had to do array of arrays though, I'd at least do something like

      template<typename T>
      T** make_2d_array(size_t m, size_t n) {
        // TODO: add padding for alignment,
        // but you're unlikely to need something aligned
        // on a larger extent than sizeof(void*)
        void *memory = malloc(m * sizeof(void*) + m * n * sizeof(T));
        T** array = (T**)memory;
        T* data = (T*)((char*)memory + m * sizeof(void*));
        for (size_t i = 0; i < m; i++) {
          array[i] = data + i * n;
        }
        return array;
      }

And you can then delete the entire array with a single free().

</comment></comment></comment><comment><USER49> My reason for using fortran (when I was studying physics) was that when going through the university library looking for a computational physics textbook, I couldn't find one that wasn't in fortran—actually I found one (computational physics, Giordano & Nakanishi) but it wasn't enough to get by. Fortunately I already knew fortran, because all the legacy textbooks+journals were written in the language.

</comment><comment><USER48> Just in case you want to use fortran code in python here is the scipy HOWTO

Still up to date. [https://docs.scipy.org/doc/numpy-1.10.0/user/c-info.python-a...](https://docs.scipy.org/doc/numpy-1.10.0/user/c-info.python- as-glue.html)

</comment><comment><USER50> Interesting as I learned WATFIV on an IBM 370 with JCL/JECL under DOS/VSE.

There is an Openwatcom project that does C and Fortran but I think it is Fortran 77.

I had Fortran and COBOL on my resume but most jobs I took used Visual Basic.

</comment><comment><USER51> some of the information here is a bit wrong. the idea that const is weaker than parameter is true, but not for the reasons given. any function taking a float, int etc. in C++ can also take a const float or const int.

its also unfair to suggest that C/C++ is as fault with not allowing a = b * c with array types. this is a failing of the standard library and easily fixed... operator overloading lets you create exactly this functionality, and std::valarray already does this for a lot of what you get in Fortran...

<comment><USER52> Good luck getting a high performance implementation of A=B+C without memory allocation out of a library.

<comment><USER51> rolling your own is pretty easy, it is a shame that the C++ standard library is a dire wasteland of bad implementations. you are right that valarray will do heap allocations and making it work on the stack is a real ballache.

</comment></comment></comment><comment><USER53> In our company we still us FORTH because the timing of each command is well known.

</comment><comment><USER54> It seems like a number of R packages use Fortran. I'm on Mac and it needs to Fortran compiler to be installed so that at least some of the R packages can be compiled when doing updates.

<comment><USER55> R (the language, originally S) was created to be a "glue language" for compiled code, most of which was written in FORTRAN.

</comment></comment><comment><USER56> > Note that Python, which is the darling of computer scientists

Actually physical scientists love Python as much as they love Fortran. It a lot of cases, it is the only two languages they know.</comment>


Ask HN: Swift, Scala, Rust, oh My! Which One? - <AUTHOR> Most programming languages appeals to me. sometimes I feel like going crazy. Will you recommend to stick with Swift now that is open source, and that maybe IBM uses it to get rid of Oracle Java in the not so far future? <comment><USER2> Languages are tool to do things. So it all depends on what you want to achieve. For native iOS, MacOS apps, Swift is probably the best bet. For server code, there are many more good options. You can learn Swift and hope that it will have better support to write server code but if you need something now, learn something else.

</comment><comment><USER3> They aren't really competitors to each other, so it depends much more on the type of applications you'd prefer to write. Swift is not a good choice for backend applications for obvious reasons, and nor would it be a good choice for writing desktop applications. Rust is not suitable for iOS, very appealing for desktop applications, less so for higher level server side code where the JVM seems to shine.

Scala would be the best bet on that front. There's no shortage of mobile developer jobs, so sure stick with Swift.

</comment><comment><USER4> Its not about language as I've understood now going through the same phase you're going through right now.

What matters the most is getting things done, getting product to market.

Overthinking on language, platform is just a waste of time. Get things done, was good ? continue, not good? change but keep pushing the new features.

</comment><comment><USER5> Yes, I strongly recommend invest in Swift front to back now so you stand ahead of curve. Apple seems very committed to pushing Swift to server side.</comment>


Signs of Life Found on Venus - <AUTHOR> https://webcache.googleusercontent.com/search?q=cache:dUWrpm80WHsJ:https://earthsky.org/%3Fp%3D343883+&cd=1&hl=en&ct=clnk&gl=us <comment><AUTHOR> I apologize for the Google Cache link. It might be embargoed and link removed. BBC is expected to make a big announcement on Monday[1]. Other signs on Astro Twitter also point to this discovery[2,3]. Archive link[4]

[1] [https://twitter.com/BBCStargazing/status/1304010713195839493...](https://twitter.com/BBCStargazing/status/1304010713195839493?s=20)

[2] [https://twitter.com/paulsanderson/status/1304909194701619202](https://twitter.com/paulsanderson/status/1304909194701619202)

[3] [https://twitter.com/astroshrey/status/1304640981749436417?s=...](https://twitter.com/astroshrey/status/1304640981749436417?s=20)

[4] [http://archive.is/w6kL4](http://archive.is/w6kL4)

</comment><comment><USER2> When I Google that headline, Google still pulls up a link to Earth & Sky which begins with the same lede. ("As far as scientists know, there are only two ways to produce it, either artificially in a lab, or by certain kinds of microbes that live in oxygen-free....") But then the page doesn't load.

[https://www.google.com/search?client=firefox-b-1-d&q=Has+mic...](https://www.google.com/search?client=firefox-b-1-d&q=Has+microbial+life+been+found+on+Venus%3F)</comment>


Trump's North Korea Policy Just Collapsed - <AUTHOR> https://www.thedailybeast.com/trumps-north-korea-policy-just-collapsed <comment><USER2> Please don't post garden-variety politics to HN. For a politicized story to be on topic here, it needs something unusually intellectually interesting.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment>


Apptitude Uses Facebook To Figure Out Which iPhone Apps Your Friends Are Using - <AUTHOR> http://techcrunch.com/2011/04/01/apptitude-uses-facebook-to-help-you-figure-out-which-iphone-apps-your-friends-are-using/

<comment><USER2> Sounds like a name conflict. There's an application called "aptitude" in Debian-based GNU/Linux system, which is also related to software ("app") management.

<http://en.wikipedia.org/wiki/Aptitude_(software)></comment>


The Network Effect Isn't Good Enough - <AUTHOR> http://www.nirandfar.com/2012/11/the-network-effect-isnt-good-enough.html

<comment><USER2> The trick with a network effect + stored value model is solving the "chicken and egg" problem. You have to make sure your service is valuable to a scalable base of users on Day 1, and that the value proposition to users doesn't depend on there being an enormous base of users (network) _or_ a wealth of stored value (content, data, etc.).

Often, this means starting with a niche. Ideally, a niche that is willing to invest a lot of time and attention up front, thereby creating value for the more casual and follow-on users. Wikipedia is a good example. The idea of using an encyclopedia that is completely devoid of content probably wasn't very appealing to the casual masses in the early to mid 90s. So Wikipedia relied on a smaller mass of users who got a kick out of cataloguing, writing, and organizing information. These users tilled the soil, so to speak, making it more fertile for a mass userbase.</comment>


New Release: 0 A.D. Alpha 23 "Ken Wood" - <AUTHOR> https://play0ad.com/new-release-0-a-d-alpha-23-ken-wood/ <comment><USER2> A project history [0] on the site is an interesting study in open source development.

[0] [https://play0ad.com/about/the-story- of-0-a-d/](https://play0ad.com/about/the-story-of-0-a-d/)

</comment><comment><USER3> One of the best open source games I know. I had played this in a very early version, but it was still very immature. Apparently I can take a look inside now.

</comment><comment><USER4> Here is the source for the game, for whoever is interested:

[https://trac.wildfiregames.com/browser/ps/trunk/source?order...](https://trac.wildfiregames.com/browser/ps/trunk/source?order=name)

<comment><AUTHOR> Also, [https://github.com/0ad/0ad](https://github.com/0ad/0ad)

<comment><USER2> They don't take PRs there...

<comment><USER5> Game dev here. Indeed we do not however it shouldn't be hard to generate a diff from your branch :)

</comment></comment></comment></comment><comment><USER6> I really like what they're doing with maps and map generation. To highlight a few from this post:

"Hellas" gives you random cutouts of actual Greece landscape.

"Egypt" is just Egypt rebuilt at small scale, including 6 pre-built cities.

"Jebel Barkal" has a pre-built city on it, which dominates the map and occasionally launches attacks against the players.

<comment><USER7> Nomad is one of my favorite modes in AoE2 I wasn't even aware 0ad was capable of doing it, so this is awesome.

</comment></comment><comment><USER8> The dev team and community are incredible. It's a brilliant open source game that rivals any commercial RTS. It is still alpha, so things are still changing, but that can be part of the fun too as new elements are introduced each release.

</comment><comment><USER9> I love playing historic based RTS games, so this game is my favorite one by far.

</comment><comment><USER10> now that's what i call a changelog!

</comment><comment><USER11> This is such a great game but the network multiplayer really needs some work. After building a certain number of units into a game the frame rate drops to almost 1FPS.

<comment><USER12> The main problem with multiplayer is that 0ad is still just using a single thread for everything, so all the path finding, rendering etc. competes with network related requests. One effect of that is that the player with the slowest hardware might introduce lag for all players in multiplayer games at the moment.

Splitting the game logic into multiple threads to have at least network related stuff happening in another thread is afaik on the roadmap for the next development cycle.

<comment><USER7> A group of friends were playing and really enjoying this game but suffered from these may problem. We all fired up Visual Studio and started debugging while playing and found the problems your discussing, but the problem doesn't have a simple "throw more threads at it" solution because of the deterministic nature of the game simulation relying on the path finding.

What we were able to do was put a hack into the path finding code that bailed on one of the loops after X amount of steps. It made complex paths less accurate (clicking units across the map to attack far away) but actually made the game playable. We could actually control our units whereas with the lag it's completely unplayable late game with 3 players and 3 AI.

<comment><USER13> Maybe you want to help develop 0ad? Seems like you have some knowledge there...

<comment><USER7> Unfortunately I'm not in a financial position to donate my time right now.

<comment><USER5> Could you at least submit a diff of whatever you changed ? There are quite some changes planned for the Pathfinder see D13 on code.wildfiregames.com. But it might help any way :) Making a patch (diff file) shouldn't take you more than ten minutes :)

</comment></comment></comment></comment></comment></comment><comment><USER14> Still, there are no custom maps: you can't build a tower defense game or anything non-standard, unlike Age of Empires2.

<comment><USER12> Yes you can build custom maps and yes you can do something like tower defense.

0ad comes with atlas, its integrated map editor. Maps also support scripting with Javascript and there are already maps included where waves of enemies get spawned (e.g. Danubis or Jebel Barkal), what you'd probably want for tower defense as well.

<comment><USER7> I can't fire it up right now as I'm away from a system, but does Atlas compare to the awesome famed Warcraft 3 editor (WorldEdit)

<comment><USER13> I don't know Warcrafts mapesitor, but just try Atlas out. (I think it's quite good)</comment></comment></comment></comment>


If Greece should have its own currency, why not U.S. states?  - <AUTHOR> http://blogs.law.harvard.edu/philg/2011/06/23/if-greece-should-have-its-own-currency-why-not-u-s-states/

<comment><USER2> Having one's own currency doesn't simply solve the problem. Plenty of Latin American countries know this first hand.

Basically, having your own currency allows you to print however much money you want to print. By issuing more currency, you as the state get to take resources from people without having to tax them. As the number of dollars increases, the value of each dollar decreases.* If you do this too much, you get hyperinflation. Because you are printing so much money, the value of that money drops at a ridiculous rate. I actually had an econ professor in college from Peru who said that during the worst days, a shopkeeper would close shop to get sales into the bank because if they waited until the end of the day, they would have lost so much value. Car companies would want to not sell cars, because the cars held their value more than currency did - so much for losing money when you drive it off the lot.

It is really hard to break out of a cycle of high inflation. Once the trust in the system is lost, it can be really hard to get it back. Many countries, in order to rid themselves of this hyperinflation, start using the currencies of other countries that manage their currency properly. For example, Panama, Equador, and El Salvador all use the US Dollar as their currency. Zimbabwe has started using a mixture of foreign currencies for trade. That eliminates the chance for them to print more money when they need and they have to rely on any loans they might get - which would be minimal given their credit ratings.

A devaluation of your currency and the inflation that come with it like that isn't good. It does allow you to get out of certain debts more easily, but it also means that investors don't want to invest or lend to you. If you have a history of using a trick to get out of your obligations, lenders don't want to lend to you. For most intents and purposes, such a huge devaluation is a sovereign default - which is what people are worried about with Greece. If you were able to pay back a fraction of your mortgage (say, 10%) through some devaluation, it wouldn't be a default, but it would mean that the bank was getting back a fraction of the money they had given you - even if the nominal value was the same. So, from the bank's perspective, it means they didn't get paid back even if they nominally did. (And if there were a way for individuals to do this, banks would treat it as harshly as a bankruptcy when making future credit decisions).

So, this wouldn't even be good for Greece. It might have meant that Greece would have seen inflation of 20%, 50%, 1000% per year for the past decade and their economy would have faltered along the way rather than them being able to hide the debt through funky accounting, but it wouldn't be a good option. Likewise, being able to print extra money isn't a boon for states either. Government revenue should come from taxes. A little can come from money printing in a way that is ok,* but taxes need to be the real source of government revenue. If you spend much more than you take in (a certain amount of debt for investment can be quite wise), you're going to get into trouble whether you can print your own money or not.

* In a manner of speaking. If the number of dollars increases at the rate of economic increase, the value of each dollar stays exactly the same (and helps protect against deflation). It's a smaller fraction of the pie (economy), but the pie is now larger.

<comment><USER3> A separate currency for Greece may not have solved Greece's problems, but that's not the point. What it does it make Greece responsible for its own problems, protecting Europe a little bit more and aligning incentives better.

It's about responsibility, not a magic bullet.

<comment><USER4> The problem is not Greece's alone: it's not like Greece invaded Germany and forced German banks to loan them money.

Furthermore, if Greece had stayed on the drachma and let it weaken against the euro, then Greek exports to the eurozone would have been cheaper, and imports from the eurozone would have been more expensive, so Greece would have had less of a trade deficit.

<comment><USER5> Actually it happened but via versa. Germany invaded Greece back in 1940. Greece had huge loses and Germans looted the banks and the gold of the country. Greece up to day has never even _requested_ for war compensation (about 100 billions). On the other side Greece has benefited from EU help that has been wasted thanx to Greek corruption but again Germany contributed to the corruption! Search for Siemens, Mann and submarines scandals. Anyway it's not that much of Germany's fault but the Greek's

</comment></comment></comment></comment><comment><USER6> Because US has intra-state fiscal transfers. Money is transferred from one state to another, indirectly. So richer states in some senses subsidize the poorer states. And they can borrow based on their combined financial outlook.( aka Federal Bonds). So you have a fiscal policy that is somewhat cohesive, a monetary policy that is completely cohesive. And this is why US states cannot have different currencies.

Besides long story short, inter state trade would be severely burdened by different currencies. One of the primary reasons for Euro was to facilitate trade.

<comment><USER4> Also, when one part of the country is doing poorly, it benefits from Federal taxes paid by people in wealthier parts—e.g., no matter how much Michigan's state budget is in the toilet, Michigan's senior citizens will still get their Social Security checks.

The eurozone has the worst of both worlds: Greece can't devalue its currency to alleviate its fiscal problems _and_ there's no Europe-wide social safety net to assist Greek people who are being screwed.

<comment><USER7> No, that is orthogonal to the currency issue, you can have the same currency and no wealth transfer or different currencies and wealth transfer.

<comment><USER8> As the Greece example shows very clearly, this does not work in the long run.

By the way, this is also the reason that the gold standard failed. The gold standard was essentially a currency shared by the entire world. This had some advantages for international trade, namely no or reduced exchange rate risks.

However, differences in how productivity developed in different countries ultimately led to countries being squeezed out of money to the point where politicians either had to default or rule by violence against their own citizens.

A currency cannot survive for very long unless there is a significantly sized central authority that balances inequalities and acts in the interest of all citizens of the currency zone.

</comment></comment></comment></comment><comment><USER9> FWIW:

US Constitution, Article 1, Section 10 - Powers prohibited of States: "No State shall ... coin Money; emit Bills of Credit; make any Thing but gold and silver Coin a Tender in Payment of Debts ..."

</comment><comment><USER10> It's a matter of national sovereignty. Greece has it, or should have it, as it is one nation. American states don't have it, as the USA are one nation (that's the idea, anyway).

</comment><comment><USER11> Why are states the magical unit? How about towns? Neighborhoods? Around banks? This was the situation before the republicans created a national currency during the civil war. Isn't attaching currencies to physical locations a little old fashioned?

<comment><USER12> States are sovereign entities, the others are not. However, under the Constitution states give up some of their sovereign rights, among them the right to mint their own currency.

<comment><USER11> States were sovereign entities before the Constitution. Now power is derived from the people, not states.

<comment><USER12> That is orthogonal to the issue of sovereignty; in fact, many of the framers firmly believed at _all_ political power is derived from the consent of the governed, regardless of the form of government. They wanted to build a government where that consent is given through ballots rather than taken through coercion.

The states are sovereign entities, and one of the most important features of the Constitution is that it preserved their sovereignty even as it subsumed them into a single nation. That is what the word "federal" means: a single nation made up of many sovereign states.

</comment></comment></comment></comment><comment><USER13> Actually, the problem is harder. For instance, in Australia, those working in the resources sector are enjoying a boom while the rest of the economy is in the doldrums. The so called two-speed economy means that the Reserve Bank has a difficult time controlling inflation by means of interest rate.

<comment><USER8> This is actually one of the most important arguments in favour of using fiscal policy for employment and inflation targeting.

Monetary policy (i.e. the interest rate) is just such a blunt tool, and its effects are really not that well understood.

<comment><USER13> It is politically very difficult, because the government is then seen to be putting brakes on the most promising sector in the economy.

</comment></comment></comment><comment><USER14> I think 3 good, (but not necessarily main reasons) to NOT have state currencies are;

1)It will add a big cost to the economy of doing business. Every time you try and do business between states you will have to change money and some banker will take a small cut on the transaction. And this will add up large amounts it cost the economy. This is a large reason why Europe went to the euro.

2) We have seen how some states manage their affairs. If they are in control of currency they have the potential to make an even bigger mess of things. Bad management will end up with a Zimbabwe type hyper inflation. This risk is reduced in a larger centralised organization... though arguably the US gov is doing this too much right now...

3) It is symbolic of unity.

</comment><comment><USER15> Given that money is created by debt[0], one could say that U.S. states already have their own currencies, i.e. IOUs. Such currencies are not more real than bits in MasterCard's databases.

A much harder question, though, to ask is what, after all, is currency?

[0]. <http://en.wikipedia.org/wiki/Money_creation>

</comment><comment><USER16> I expected an interesting debate about currency and unfairness between states, and instead I find someone's ideas on how to screw retired people out of what they've earned.

</comment><comment><USER17> A currency post without a bitcoin reference? Anybody holding btc, sell now: the bubble is over.

</comment><comment><USER18> it's so cute when modern scholars reinvent things.

pro tip: we already had a war over this.

</comment><comment><USER19> Each US state is not a single economy, whereas Greece is an independent economy with pegged currency. Multi-speed economies exist in many countries (believe it or not, even inside greece).

<comment><USER5> and this is exactly the problem of EU. Single currency without common economy. Greece has a strong currency but a weak economy. It does not work!</comment></comment>


Daylight Saving Time and Artificial Time Zones - <AUTHOR> https://www.frontiersin.org/articles/10.3389/fphys.2019.00944/full <comment><AUTHOR> There's a lot of referenced literature if you want to go through the long read, but TL; DR:

> _In summary, the scientific literature strongly argues against the switching > between DST and Standard Time and even more so against adopting DST > permanently. The latter would exaggerate all the effects described above_ > beyond _the simple extension of DST from approximately 8 months /year to 12 > months/year (depending on country) since_ body clocks _are generally even > later during winter than during the long photoperiods of summer (with DST) > (Kantermann et al., 2007; Hadlow et al., 2014, 2018; Hashizaki et al., > 2018). Perennial DST increases SJL prevalence even more, as described > above._

> _A solution to the problem is shown in Figure 2C, which contains a > combination of obliterating DST (in favor of permanent Standard Time) and > reassigning countries and regions to their actual sun-clock based time > zones._

</comment><comment><AUTHOR> In our local news, given Sunday's upcoming change, a local PhD in chronobiology has suggested ditching DST completely in interviews:

* [https://news.yorku.ca/2019/10/30/would-stopping-daylight-sav...](https://news.yorku.ca/2019/10/30/would-stopping-daylight-saving-time-help-your-natural-body-clock/)

* [https://en.wikipedia.org/wiki/Chronobiology](https://en.wikipedia.org/wiki/Chronobiology)

So year-round Standard Time (i.e., NY would always be UTC-5, LA would always be UTC-8).</comment>


Show HN: My simple side project to track gift ideas - <AUTHOR> https://gftr.herokuapp.com

<comment><USER2> Interesting title. But... I wanted to try, but I don't want to sign in with facebook. Sorry.

<comment><AUTHOR> Yeah, I think that's a major deterrent. Thank you for the comment.</comment></comment>


Is Y Combinator still accepting applications? - <AUTHOR> Just noticed Ycombinator is still accepting applications, Wondering if anyone knows when is the last day.
I am thinking of applying for summer 2011 but my cofounder wont be available to go through the application until monday (May 23rd).
Does anyone know, if Ycombinator will even look at our application if we apply by then.
Please advice. <comment><USER2> I'm still looking at late applications now so you can still apply, though I'll likely stop by end of day tomorrow. The review of late applications is stricter than during regular application time so the odds of getting an interview are much lower.

<comment><USER3> Harj,

We know you might have stopped looking at new applications but trying to see if we still have a chance as there is 1 more week for the program to start.

The concept we are working on is www.yestot.com

Appreciate your time.

<comment><USER4> I think I read that there will be a post on Hacker News when the list has been finalised; so I'm still on the edge of my seat this week hoping for one of those golden tickets :)

</comment></comment></comment><comment><USER5> Pretty sure Summer 2011 is already locked

You'll have to apply during their Winter session</comment>


China hacked HPE, IBM and then attacked clients - <AUTHOR> https://www.reuters.com/article/us-china-cyber-hpe-ibm-exclusive-idUSKCN1OJ2OY <comment><USER2> > A British government spokeswoman declined to comment on the identities of > companies affected by the Cloudhopper campaign or the impact of those > breaches.

> "A number of MSPs have been affected, and naming them would have potential > commercial consequences for them, putting them at an unfair disadvantage to > their competitors," she said.

Wait, what? These companies got repeatedly hacked, were apparently not able to re-secure the network, allowed themselves to be used as a springboard for further attacks to their customers, and then covered it up. And letting this be known would be an "unfair disadvantage"?

<comment><USER3> So the plan is to hide and not to disclose the problematic companies, and then blame everything on China... Absurd.

<comment><USER4> China is the new Boogeyman of 2010s.

<comment><USER5> China is a state sponsor of hacking and industrial espionage and they're also incarcerating quite a number of people based on their ethnicity, and harvesting their organs when they die in incarceration. Among other things.

Call it what you want but, even with a lot of grey in between, these things are real and material.

That said, I suggest the number of stories appearing in the press as of late might be part of a steady leak of information from US authorities as part of their strategy to put pressure on China during trade negotiations.

<comment><USER6> Organs aren't very useful when people die outside of a hospital. They're harvested from brain dead patients or those that have _just_ undergone cardiac death.

edit: I was responding to "harvesting their organs when they die in incarceration" \-- this sounds like it's a natural death.

<comment><USER7> [https://www.amnestyusa.org/execution-vans-organ- harvesting-b...](https://www.amnestyusa.org/execution-vans-organ-harvesting- business-as-usual-in-china/)

> For many years, it has been known that China uses execution vans, kind of > like specially outfitted ambulances, to more efficiently carry out its > exceedingly large number of executions. The method of killing in these vans > is lethal injection, which has been slowly but surely replacing the firing > squad as China's preferred means of execution, and both lethal injection and > the vans are believed to facilitate the widespread practice of harvesting > organs of the executed prisoners, an unbelievably appalling practice.

<comment><USER8> Not that I doubt it's happening, but I'd have thought that lethal injection would poison the recipients of the stolen organs?

<comment><USER9> No, they don't inject you with cyanide or something that kills the organs.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is an example of the "tail wagging the dog". Whether a "State Sponsored" organization hacked IBM or someone in their mothers garage, IBM and other companies ARE responsible for keeping their customers data safe. While it's true a state sponsored entity would have more resources than a kid in a basement, IBM has the resources to pay for full time IT security professionals and for the amount of money they charge for their products and services, they should have more than enough resources to pay for decent 3rd party Security products and services. They KNOW they have a target on their back, it's their responsibility.

<comment><USER11> > While it's true a state sponsored entity would have more resources than a > kid in a basement

In this case, according to the indictment, it was a few spearphishing emails with .docs attached, followed by keylogger and other malware installation. The companies should be held responsible for being silly in this case.

<comment><USER12> It's a bit silly, sure, but just because they got breached in this phishing attack, doesn't mean they didn't resist other attacks successfully.

Personally, yeah companies need to be held to a higher standard against hackers, but if we're going to be realistic, we only expect they could do it because it's IBM and they have a lot of money. What about all the other companies? Rhetorically, what are we going to do about this issue? There's been decades of fairly basic confidence schemes and "hacks" and all the corporate training in the world isn't making a dent in people trusting strangers and running malicious files.

<comment><USER11> I have some strong views here. 1. These are cons more than hacks as you wrote. I believe the protection doesn't exist only because there's no real risk. What would happen if some employee got conned to send out company money. Why isn't the same response applied to obtained information? 2. Principle of least privilege + monitoring. Those companies should know almost immediately about the break-ins. Even if the training fails, there are mechanisms to stop this.

I'm starting to believe that at some point we should start fining people for lack of protection.

</comment></comment></comment></comment><comment><USER13> [https://www.justice.gov/opa/pr/two-chinese-hackers- associate...](https://www.justice.gov/opa/pr/two-chinese-hackers-associated- ministry-state-security-charged-global-computer-intrusion)

[https://www.us-cert.gov/ncas/alerts/TA18-276B](https://www.us- cert.gov/ncas/alerts/TA18-276B)

<comment><USER14> Thanks for the links.

" FOR IMMEDIATE RELEASE Thursday, December 20, 2018

Two Chinese Hackers Associated With the Ministry of State Security Charged with Global Computer Intrusion Campaigns Targeting Intellectual Property and Confidential Business Information

(...)"

</comment></comment><comment><USER15> > International Business Machines Corp said it had no evidence that sensitive > corporate data had been compromised. Hewlett Packard Enterprise (HPE) said > it could not comment on the Cloudhopper campaign.

> Both IBM and HPE declined to comment on the specific claims made by the > sources.

> DXC Technology declined to comment, saying in a statement that it does not > comment on reports about specific cyber events and hacking groups.

> Reuters was unable to confirm the names of other breached technology firms > or identify any affected clients.

I wonder why the title of the article sounds so certain while it seems none of the claims are confirmed

<comment><USER16> Because there are no consequences of journalistic malpractice and no one will read retractions or revisions so the parent conglomerates can shape public opinion any way it wants.

</comment></comment><comment><USER17> It is really strange to see that, when a US company or one goverment department doing something, we call it by its name or its branch, but when a Chinese company or a department doing something affect copyright or anything wrong (there's no exuse for that I know) but we summerise it as "China". I am working in a Chinese company right now, this mentality really affects some good Chinese company out there to do some fair business.

<comment><USER18> That's because the Chinese government has its thumbs in every pie in their country. If the government wanted, they could easily compel your company to do its bidding.

<comment><USER19> Exactly, the seemingly good independent Chinese companies are simply the ones that haven't caught the attention of the thousand eyed spider. The company is in the web regardless.

<comment><USER17> Is there a way to prove your counterpart arguement? Logically, it's much easier to prove your arguements than mine even if the truth favours mine.

<comment><USER19> The only way the US has influence over business is via the judicial system. If a business takes issue with the outcome of the court cases they can even take the extreme step of shutting their business down as was done with Lavabit.

The Chinese government has routinely stooped to using coercion such as blackmail and kidnapping of family members to control its citizens. It's really not comparable.

</comment></comment></comment></comment></comment><comment><USER20> One afternoon I was doing some consulting work at one of HP's oldest offices. I needed to print something, so I had the printer produce a configuration page, so I could get the IP address.

Lo and behold, _it was a public IP._

As in, this old-ass printer, sitting at an HP office, was sitting on the Internet. And it was connected to the office network.

Really blew my mind.

The office was very old, and there were things laying around the hallways that seemed to have been untouched for 20 or even 40 years. So I'm guessing that workhorse of a printer had been chugging away for decades, and was configured long before anyone had thought about information security.

Also, if this sounds too crazy to be possible, you can test this for yourself. If you do a Google search on the welcome page of an HP printer, you will find hundreds with public IP addresses.

<comment><USER11> > it was a public IP.

IP exposed to the internet, or an IP from the public range?

HP has 2 /8s. Lots of things got public IPs in there since they can hand them out like candy. It doesn't mean though that they're available from the internet.

<comment><USER21> Yeah, I've worked with plenty of companies who have a whole public range and use it internally, but the external firewall still stops them from being publicly routed. Simply having a public IP doesn't mean it's actually public.

</comment></comment></comment><comment><USER22> They are persistent. I see attacks from them on my company in the thousands every day. Some ip ranges have continued to hit us dozens of times after prolonged blocking.

</comment><comment><USER23> While I was at IBM, I deployed an sshkey to the internal Bluemix staging environment, called "Dr Worm" (it's my title :) About 3 months later they froze my account and called my manager, freaking out. Apparently it was not allowed.

We were like, wait, if it's not allowed, they why was I able to? And why did it take 3 months?! They backed down and we laughed over beers.

I'd be surprised if IBM even has the visibility into the situation... because that's just one of the war stories.

</comment><comment><USER24> Meanwhile, the CFO is Huawei is reported to have _seven passports_.

[https://www.bbc.com/news/world-asia-46507974](https://www.bbc.com/news/world- asia-46507974)

<comment><USER25> fun fact: according to this article in Wikipedia you can have up to 10 valid german passports.

[https://en.m.wikipedia.org/wiki/German_passport](https://en.m.wikipedia.org/wiki/German_passport)

</comment></comment><comment><USER26> When does this become an act of war?

<comment><USER27> When human lives are threatened.

<comment><USER28> the vast majority of the fentanyl that's killing 70,000+ people a year in the US is manufactured in China. The Chinese government has done next to nothing to prevent this

<comment><USER29> The manufacture of Fentanyl has been illegal in China since 1 March 2017.

How effectively and stringently that ban is enforced might be open to question, but to say that the Chinese government has done "next to nothing" is hyperbolic.

<comment><USER28> They get around it by making precursors and then sending it to Mexico for the cartels to finish and then traffic into the US. It's a loophole China allows to stay open

[https://www.sandiegouniontribune.com/news/public- safety/sd-m...](https://www.sandiegouniontribune.com/news/public-safety/sd-me- fentanyl-pipeline-20180617-story.html)

</comment></comment></comment></comment></comment><comment><USER30> I wonder if we are doing the same thing to China and it just doesn't get as much press here or China doesn't disclose it. From a layman view, things seem very one-sided.

</comment><comment><USER31> Sure would be nice if there was some evidence.

</comment><comment><USER32> When someone says 'china' hacked these companies, what does that even mean? The chinese version of the NSA, or FBI hacked these companies? Can anyone shed some light on this?

</comment><comment><USER33> As long as there are no consequences, this will continue. 1\. Hacked firms should be investigated for neglience. If opening a doc file can bonk the entire system, somewhere best practices were not followed.

2\. The judicative should viciously go after the largest hostile actor, including state actors, they can get a hold of.

3\. And lastly, politics should go after China. Every week there is a new story how China stole IP, hacked something or showed hostile behavior Compared with their rethoric and genocidial tendencies, it should become clear to every state that China is not an ally to anyone but the CCP, and no Chinese firm is at the end not owned by the CCP. The harshest consequences that are reasonable are approrpriate at this point, or Chinas behavior will just get worse Appeasement does not work anymore.

</comment><comment><USER34> I thought HPE was a majority owned Chinese company?

</comment><comment><USER35> That which can be asserted without evidence, can be dismissed without evidence.

<comment><USER36> Read the indictment:

[https://www.justice.gov/opa/press- release/file/1121706/downl...](https://www.justice.gov/opa/press- release/file/1121706/download)

... this still has to go in front of a judge of course but it's not like they're claiming there's no evidence.

</comment></comment><comment><USER37> Can't blame them. Wall St. and their financied politicians cashed out technology leadership for short term gain.</comment>


Ask HN: Do you think companies should pay applicants for interviewing them? - <AUTHOR> The reason I am asking this is many times companies interview candidates and give them no result. This frustrates the candidates both mentally and physically. I think there should be a contract which not only reimburses the candidate but also gives proper details about compensation, result timeline etc.<p>What do you think? <comment><USER2> There are lots of jurisdictions & employment contracts that would require pre- approval from a candidates existing employer before they could accept that contract.

You can imagine why that wouldn't be ideal.

</comment><comment><USER3> It would be nice if there was an escrow platform that would pay the applicants for their time if the company failed to give a response in an agreed upon time span. This way, applicants would be compensated for all the time/lost opportunities of the "Well give you a response very soon" that never arrives.

</comment><comment><USER4> The problem is how much to pay? And does paying help the candidate at all. Usually the candidate is taking some kind of leave, and is already being paid so they don't desperately need the money. I think better than paying is to have equal consideration.

For example if a company gets 100 devs to do a 2hr online dev test, then picks 1 for an interview then they have generated 200 hrs of work in the community but only at a cost of 2 hr of their time. This is like 'spamming' in a sense. And this is what can waste a lot of time for candidates. They should have filters before those stages to minimise the time of candidates that they waste.

</comment><comment><USER5> I think you raise a good point, but in general no.

No, for what's considered the classical interview of one or two phone screenings + one day onsite. No because I think it's already very expensive for companies (both the process and accounting for errors), and it would create a false incentive for people to just randomly shop for interviews just to get paid an extra.

Probably yes, though, for everything that goes beyond. For example, the "classical" come for a day to work on w/ the team, or build this feature, or solve this problem and prepare a presentation.

</comment><comment><USER6> Oh gees. I've only recently spent a lot of time on the interviewer side of the table, and realized how much resume inflation there is out there, which doesn't come out until there's an in-depth technical interview. I can only image how much worse this would be if just getting into an in-person interview is incentivized. I see your point, but can't see that the benefits outweigh the drawbacks.

</comment><comment><USER7> I don't think companies "should", but my companies do when we give people take-home projects to assess programming skill. Our preference is to do contract-to-hire, but not every applicant can assume that risk.

Thanks to this post, my companies will now pay applicants for interviews as well. Time is time.

I've honed my hiring process over the years, so we only spend more than 15 min with 3-4 candidates at most (and one of them is always a home run). It won't cost much to pay 3-4 people.

<comment><USER8> What do you look for that only 3-4 people who applied are able to demonstrate? Interested to learn from your experience.

<comment><USER7> It's mostly a process rather than a set of criteria. Email me via address on my profile and I can do a deeper dive for you.

</comment></comment></comment><comment><USER9> I think you're expecting someone to give over an hour of their time then yes.

I've had companies compensate me for interview time before and for me it certainly improves my likelihood to accept an offer. Knowing a company will be respectful of your time is important.

</comment><comment><USER10> What do you mean by "no result"? Do you mean no communication or feedback about why the candidate didn't get the role? Also curious how much compensation you would suggest for an interview?

</comment><comment><USER11> Some of the places I interviewed gave gift cards between 100-200 bucks + expenses.</comment>


Scrabulous Now Officially Getting Sued - <AUTHOR> http://news.cnet.com/8301-1023_3-9998723-93.html?part=rss&subj=news&tag=2547-1_3-0-20

<comment><USER2> being a big fan of scrabble, id hate to see scrabulous go away (although admittedly i haven't tried out the official scrabble game yet). however, what i don't understand is why these guys didn't sell to hasbro when they had the opportunity a long time ago?? granted, they may very well be safe from indian courts, and have no u.s. assets, but from what i understand facebook will probably end up taking down the application and they will be left out in the cold.</comment>


Ask HN: How to hire technical support? 2 in 1 issue - <AUTHOR> The support time on my startup is split in half between normal customer support and technical support(widget not working on the website, API call not working, etc).
I'm looking to hire someone to do this, but seems that's not that easy.
A good technical person doesn't like doing support, a great support person is not that technical to debug a tricky API issue.
Is the only answer to hire 2 persons? Maybe some of you guys went though this and can give some pointers. <comment><USER2> In short, if you pay "technical" money, you _will_ find such a person

\---

IMO, it's not so much technical people don't like doing support, it's just bad for career. If you can solve that for your potential employee you're good. But that is gonna be tough because you can't influence other 99% of employers who treat support like trash, making it unattractive for people with technical skills who have the choice. On the other hand some people are fine with what they can take right now and do not bother too much with the whole "career" thing. If you can offer attractive paycheck for a sufficiently smart person, you will find your 2 in 1 support.

</comment><comment><USER3>
       a great support person is not that technical to debug a tricky API issue

A _great_ support person is, and can, assuming s/he has access to source and, ideally, a build and test environment.

When in Support, I used to diagnose issues as far down the rabbit hole as I could within reasonable time constraints. If I could diagnose right down to the offending code, I would end up with a much better understanding of the code base (and, often, platform), plus I could win much faster response on rolling out a fix.</comment>


» Removing DigiNotar from your Linux CA Certificate repository - <AUTHOR> http://petermblair.com/2011/09/removing-diginotar-from-your-linux-ca-certificate-repository/ <comment><USER2> For the Mac users:

Open Keychain Access in Utilities folder. Select "System Roots" and in the right-pane scroll down to Diginotar. Double click to open and expand "Trust". "When using this certificate" : "Never trust"

I expect Apple to remove them from the list any day now. But in the meantime here you go.

</comment><comment><USER3> Ubuntu's update manager did this for my desktop yesterday ... and for my server VM.

</comment><comment><USER4> The `vi +154` bit is new for me, thanks, I learned a new trick that should make debugging even faster now. Also, I forgot about grep -i. Very cool.

<comment><USER5> For new-ish unix users, just pointing out that cat ... | grep ... is a classic mistake (it's in the faq). Grep can do line numbers with -n.

</comment></comment><comment><USER6> Which distribution(s) does this apply to?

        Ubuntu (unkown version): yes
        Fedora 14: no

</comment><comment><USER7> Please don't put "»" in your title to draw attention. Flagged.

<comment><USER4> I don't think they put it purposefully; it's in the <title> of the page. They probably submitted with the bookmarklet.</comment></comment>


How I created Plázida, my coworking space brand - <AUTHOR> https://www.coworkies.com/forum/how-i-created-pl-zida-my-coworking-space-brand-75 <comment><USER2> I've got a brand.

Chair and desk. Clean. Good connection. Preferrably nice view with moderate sunshine. Furnished by someone with a good eye. Some lounge space where you can chill.

<comment><AUTHOR> Thanks Emerongi for sharing what matters to you in a coworking space :) Did you find one that has all you are looking for?

</comment></comment><comment><USER3> Reads like an advert :-/

And an oddly narcissistic one at that... "me, I, my, I, I, me"

<comment><AUTHOR> Thanks for leaving a comment! Irene (the woman who wrote this piece) really did not write it with the intention to create an advert but rather sharing her own experience in the process of creating a brand :)

</comment></comment><comment><USER4> This seems really abstract. A lot of coworking is facilities management. Where exactly are the locations? How fast is the internet connection? How often are the restrooms refreshed and the bins emptied? Are there spaces to the side and private booths for phone calls? How are security and complaints handled? And of course what are the membership options and costs? These kinds of things are what I care about. Ending your post by showing that Miguel has a butt plug identity leaves all of this real stuff oddly hanging.

</comment><comment><USER5> Being able to position the brand as fitting the problems of the market is super important. I like point 2: timing is important to leverage your understanding of your target customers

<comment><USER6> Especially in a new market where the customers first need to be educated. Most of the people still don't know what is coworking. For digital nomads coworking spaces is also a social place where they can fit into a local culture, find friends, get advice etc. But all this requires trust, and branding plays an important part in building trust.

</comment></comment><comment><USER7> Spending some effort on SEO would be a good call. I was in Madrid a few weeks ago and my searches for "co-working space Madrid" never turned up this place.

<comment><AUTHOR> Thanks Fyfy18 for your recommendation! Plazida is a really new coworking concept, they recently opened so competing for the key word "coworking madrid" is not that easy, takes time to appear but they are def. working on it :) I am not from Plazida but I can highly recommend you to visit them next time you are in town, it's a really cool concept, especially for people who are not from the city.</comment></comment>