Apache releases first major new version of popular Web server in six years - <AUTHOR> http://www.zdnet.com/blog/open-source/apache-releases-first-major-new-version-of-popular-web-server-in-six-years/10390 <comment><USER2> Overview of new features in Apache HTTP Server 2.4

<http://httpd.apache.org/docs/2.4/new_features_2_4.html>

<comment><USER3> <http://httpd.apache.org/docs/2.4/mod/mod_heartbeat.html>

It frustrates me when people use ASCII instead of packed bitmaps for things like this (packet transmitted once a second from potentially hundreds or thousands of nodes, that each frontend proxy has to parse into a binary form anyway before using it). Maybe it's a really small amount of CPU but it's just one of many things which could easily be more efficient.

Some of this stuff is so simple and useful it's a wonder they weren't there before:

<http://httpd.apache.org/docs/2.4/mod/mod_auth_form.html> <http://httpd.apache.org/docs/2.4/mod/mod_session_dbd.html> <http://httpd.apache.org/docs/2.4/mod/mod_buffer.html> <http://httpd.apache.org/docs/2.4/mod/mod_data.html> <http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html> <http://httpd.apache.org/docs/2.4/mod/mod_lua.html>

_"mod_ssl can now be configured to share SSL Session data between servers through memcached"

"mod_cache is now capable of serving stale cached data when a backend is unavailable (error 5xx)."

"Translation of headers to environment variables is more strict than before to mitigate some possible cross-site-scripting attacks via header injection."

"mod_rewrite Allows to use SQL queries as RewriteMap functions."

"mod_ldap adds LDAPConnectionPoolTTL, LDAPTimeout, and other improvements in the handling of timeouts. This is especially useful for setups where a stateful firewall drops idle connections to the LDAP server."

"rotatelogs May now create a link to the current log file."_

Very nice that they rewrote the mod_rewrite and caching guides with more examples and ease of use in mind. Here are the API changes: <http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html>

<comment><USER4> _It frustrates me when people use ASCII instead of packed bitmaps for things like this (packet transmitted once a second from potentially hundreds or thousands of nodes, that each frontend proxy has to parse into a binary form anyway before using it). Maybe it's a really small amount of CPU but it's just one of many things which could easily be more efficient._

I think that's a premature optimization. _If_ it becomes a performance problem, optimize it then. Otherwise, I doubt it's worth the cost of humans not being able to read the information on the wire, and deciding on and implementing a binary format to represent the information.

<comment><USER3> That's a fine philosophy for the just-ship-it model of startup webapp development, but this is a piece of server software which is supposed to scale high and far and reduce its resource use as much as possible (part of the emphasis of the release as noted).

If you're writing a piece of some software with one specific function and it doesn't affect anything else and it doesn't take any more time to make it efficient, just do it efficiently the first time. This way you don't have to come back later and rewrite it (which by the time that's required, somebody already wrote something dependent on your crappy design, which now has to be fixed too, etc)

<comment><USER4> It might be the philosophy of "the just-ship-it model of startup webapp development", but it's not why I have it. It comes from the philosophy of high performance systems research where you can spot inefficiencies _all over_ the system, you just don't have enough time to optimize them all, and any extra complexity you put into the system better be worth it. Every "optimization" you put into your system better have performance numbers associated with it; if you can't experimentally demonstrate that the optimization is worth it, it's not.

<comment><USER3> I agree that if you try to optimize everything before proof that you need it you'll be wasting a lot of time. But the case i'm talking about is a function in mod_heartmonitor.c which calls apr_strtok, strchr, and ap_unescape_url(x2) for three iterations and returns the values in a table. And that function is duplicated at mod_lbmethod_heartbeat.c. For a cluster of 850 servers that's 10,200 function calls every second. When they could have just copied a raw network-order bit string into a struct. Or something.

Yeah it's probably insignificant, but they could have just done it that way the first time. There'd be no optimizing needed thereafter, and no side-effect as it's only used in two places for a limited function. It's actually smaller and easier and faster to write AND to run. You make the right choices at design and implementation time and you come out with better code which doesn't need to be optimized.

<comment><USER5> Sorry, but you're just wrong on this. Here's an example of parsing a string like the one in there:

<http://pastie.org/3429643>

It parses that string and reads it into a struct at a rate of about 3 million per second on a single core on my Macbook Pro. That means for your example there of 850 machines in a cluster, we're talking about roughly a quarter of a millisecond of one core of CPU time. Even if that's off by an order of magnitude, _it doesn't matter_.

 _THERE IS ABSOLUTELY NO REASON TO OPTIMIZE THIS CASE_

The enemy of optimization is hard to maintain code, not small inefficiencies.

Using text in this case makes the wire protocol easier to debug and generally easier to maintain for forward compatibility. Need to add an extra argument? It'll be both self-documenting and backwards compatible, instead of some versioned mess of bitflags.

Could I be wrong? Sure. There's an easy way to prove such: show me the profiler output. Your eagerness for micro-optimizations significantly hints at inexperience.

<comment><USER3> Assuming that it'd perform that way in the real world, you are right that my solution would have no significant performance increase over the sscanf you use. But I don't totally agree with some of your supporting arguments.

The wire protocol you're talking about is a heartbeat protocol. This doesn't need to be human-readable because there is no input from a human, nor is it intended for a human to read. Debugging it would be as complicated as a "printf". Oh the horror. We wouldn't want to add debugging to our application - better make people read the raw data with a packet sniffer (which you can't run unless you have root, so good luck getting your application debugged quickly, developers).

Adding an extra argument would require appending an extra field and incrementing the version. Oh noes the mess! Since both solutions are versioned, forward compatibility is just updating code in the server, and if you're going to change things you have to update code anyway, so this doesn't sound like a good reason to oppose it.

Realistically, will more than a handful of shops have a big enough cluster for any of this to matter? No. But even your example of using sscanf is faster than Apache's code (<http://pastie.org/3430085>) while being 100% compatible with the rest of the code, and still goes to show that doing it right the first time is better than just slapping something together and waiting until you have to optimize.

So do we _need_ to use an unreadable, simpler solution? No. But it would work just as well as anything else and take just as much time to write - if not less.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> It may sound trivial, but the thing I appreciate most about Nginx is its lightweight config file syntax.

It's very easy to glance over and see what's been set up compared to Apache's verbose pseudo-XML syntax which is about the worst syntax you can come up with: the verbosity of XML but without the benefit of being able to generate or parse it using standard XML tools!

<comment><USER7> Yep, it's utterly dire. People bitch about X11 config files, but this is in many ways worse because it pretends to be XML. It'd be nice to submit a patch for Apache so it can read YAML, XML, and JSON based configuration. Or even just some sort of consistent fucking format, so we can generate configs for a bunch of servers with lxml or something.

The other thing that fucks me off is that the server will reboot happily and fail to start without having first checked that it can start, and configtest doesn't pick up things like directories being missing.

<comment><USER8> > _and configtest doesn't pick up things like directories being missing._

Uh, last time I checked (Apache 2.2.17 (Ubuntu)) it did.

        # apache2ctl configtest
        Warning: DocumentRoot [/dev/null/doesnt/even/exist] does not exist

</comment></comment></comment><comment><USER9> I guess real world testing is going to be the best indicator of whether this is a worthy release or not, but i sure am very glad that Apache have at least attempted to up their game. Even if they are not able to deliver on their promise, the effort is noble enough - at least for now.

Personally, i'm very glad to see performance considerations being taken seriously, and even if nginx or node.js don't take over the world, its nice to see that they're forcing others to sit up and think.

<comment><USER10> Never underestimate the power of "good enough".

Apache is "good enough" for most people.

NGINX or Node.js really don't bring much new to the table of "good enough".

It's why plan 9 isn't as popular as it probably should be. UNIX was good enough.

<comment><USER11> I disagree. Nginx brings a lot to the table in simplicity and ease-of-use.

Just reading an nginx.conf and comparing it to an httpd.conf should be enough to convince you what nginx brings to the table.

<comment><USER12> The thing is, for the average site run under Apache, adding 5 lines of config is all the configuration needed for the entire life cycle of the server.

On the high end, provisioning is fully automated.

Not to mention the fact that after > 15 years(!), amateur sysadmins like me can pretty much dream the config settings.

Which leaves a relatively small target audience for whom a simpler config is even remotely relevant.

<comment><USER13> That's the wrong mindset to have, IMO. Just because the incumbent sysadmins have gotten used to the eccentricities of Apache doesn't mean having something easier to configure is not necessary. This is similar to what people said when the iPhone was announced.

<comment><USER14> There's a big difference between your two scenarios. At the time the iPhone came out, only a very tiny fraction of people had ever owned (or even used) a smartphone. The iPhone's success came because it was able to grow the market, convincing feature-phone users to upgrade to a smartphone. I don't see the same thing happening with nginx. I don't see anyone saying, "Gee wiz, I didn't want to be a sysadmin, but now that I've seen nginx's easy config file syntax, I want to be a sysadmin now."

</comment></comment></comment></comment></comment></comment><comment><USER15> I'm excited. Even if it is only a 5% to 10% improvement in performance, then that buys me a little bit more headroom on my current server setup.

I look forward to testing it out down the road.

</comment><comment><USER16> Micro Benchmark of Apache 2.4 vs Nginx 1.0: [http://blog.causal.ch/2012/02/micro-benchmark- apache-24-vs-n...](http://blog.causal.ch/2012/02/micro-benchmark-apache-24-vs- nginx-10.html)

</comment><comment><USER17> Get your faces off of your articles' headers!

</comment><comment><USER18> 3.0 would be major, 2.4 is minor.

<comment><USER19> The headline is "major new version" not "new major version".

<comment><USER18> Interesting difference. I've not noticed that. But when I think about it, what does "major new version" mean?

<comment><USER20> new "major version" is jargon - a term of art with a generally accepted meaning of incrementing the most significant version number.

"major" new version is just English - it's a new version with significant enhancements or impact.

<comment><USER21> > new "major version" is jargon - a term of art with a generally accepted > meaning of incrementing the most significant version number.

An example of which would be <http://semver.org/>

</comment></comment></comment></comment></comment><comment><USER22> Expecting to see some meaningless benchmarks soon.

<comment><USER23> You know you have a good software when people begin to procrastinate on your software by comparing the number of requests / second that your server will accept, knowing that 99.9% will never reach that.

Oh and ... Node.js is probably going to be mentioned.

<comment><USER24> If a server can handle a larger number of requests that the same server with different web server could this automatically means resource usage per connection is lower.

This is good for everyone ranging from small site to large because it means reduces costs etc.

<comment><USER25> Very relevant on VPS's.

</comment></comment></comment></comment><comment><USER26> "While it seems unlikely that NGINX could overcome Apache's commanding lead ..." Oh zdnet, don't you realize that actions like this release from Apache, obviously under pressure from NGINX, are precisely the indicators that you will be eating your words in a year or two?

<comment><USER27> IIS takes almost all the profit in web servers though. /Asymco

<comment><USER28> And people stay with it because it would be so much pain to migrate to anything else. Just imagine rewriting all that VBScript code... That's mostly why companies kept IE6 for so long.

edit: forgot the "burn, karma, burn" line...

<comment><USER29> Yes, those legacy servers went from 57 million in Feb 2011 to 88 million in Feb 2012, all running VBScript.

VBScript must be the hottest programming language, right?

Netcraft confirms it.

<comment><USER28> You know how it works. You already have a shop full of people trained to work your legacy apps, with their shiny MC* certifications, comfortable in their safe lifetime dead-end jobs... What do you think they'll do? Use the tools they have been using for a long time now or explain management (because they really don't decide anything) they need to learn to use better tools?

Do you really think most MC* people are eager to move on to tools that make their certifications worthless? When they move, they do along Microsoft's designated path and rarely stray from it.

<comment><USER29> >Use the tools they have been using for a long time now or explain management (because they really don't decide anything) they need to learn to use better tools?

Better tools like what?

Maybe there are many people out there that think that ASP.NET/C#/MVC and Visual Studio are actually better tools for them?

I know that could be an alien concept around these parts and for you but that doesn't make it any less true.

Saying that they should discard their knowledge and move to Ruby/PHP/Node is as idiotic as saying Ruby developers should ditch Ruby and move to Visual Studio/C#/.NET since it might be one of the best platforms around.

>Do you really think most MC* people are eager to move on to tools that make their certifications worthless? When they move, they do along Microsoft's designated path and rarely stray from it.

Microsoft has been building up support for Python, PHP, Node and github. Anyway, the reality is nothing close to the dystopian light that you paint them in. The jobs are no more dead-end than Java or PHP or Ruby jobs.

And no, sorry, VBScript is barely around in maybe in around 5% of companies running IIS, people have moved on to new technologies, unlike constant MS bashers who seem to be stuck atleast a decade back in their criticisms.

<comment><USER28> > Ruby developers should ditch Ruby and move to Visual Studio/C#/.NET since it > might be one of the best platforms around

Except that VS/C#/.NET isn't one of the best platforms around unless you code for Windows. And that's one more reason not to move to other platforms - because the tools they use don't support the alien technology as well as what they've been using.

> The jobs are no more dead-end than Java or PHP or Ruby jobs.

You obviously have a different idea of what constitutes a dead-end job. I imagine it's a job at a company that thinks of IT as a cost of doing business, something competitive advantages are not to be derived from. Those companies will not invest in new things until everybody else is doing it and hire the same kinds of professional other companies hire. They use certifications instead of interviews because then the whole hiring process can be done within HR. I've seen a lot of them.

> VBScript is barely around in maybe in around 5% of companies running IIS

I know it's not a thorough review, but I see plenty of .asp URLs around within corporate confines.

<comment><USER30> File extensions are meaningless. My router uses .asp for file extensions, and I know for a fact that it does not use vbscript, as it is running Linux.

<comment><USER28> That reminds me of a prank I did with a couple friends. We had a site running on Zope and we decided to use every known extension for our URLs. I think we got to a dozen different ones.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


A Jigsaw Puzzle Was Given to Ellis Island Immigrants to Test Their IQ - <AUTHOR> http://www.smithsonianmag.com/history/puzzle-given-ellis-island-immigrants-test-intelligence-180962779/ <comment><USER2> It looks like part of the problem is that somebody simplified what the puzzle was supposed to look like: [https://intelligencegroup581.wikispaces.com/file/view/feat_p...](https://intelligencegroup581.wikispaces.com/file/view/feat_prof.png/139922425/827x679/feat_prof.png)

A bit easier when the pieces are the right shape, and the black ink isn't missing or worn off.

Edit: Another historical picture with yet another configuration of the same puzzle: [http://imgur.com/a/URP4m](http://imgur.com/a/URP4m)

Edit: Please note "Part of the Problem". I agree it still has issues.

<comment><USER3> Hm. Its still abstract. Without telling me "a face in profile" I could totally misinterpret the blocks. That ear - wow. And the mouth - why isn't the paint reflected in the shape of the block?

And who's to say how many took the test with the paint worn off?

Further, I'd say this has no fewer cultural references than any other IQ test. Doing a block puzzle at all is cultural. Understanding that the ink and the shapes were independent parts of the problem. That a face could be drawn in profile. That a face can be represented just by eyes, lips, ears, and painted mouth. That anybody would draw important conclusions about your future from a child's toy.

<comment><USER4> If we have a culture where doing block puzzles is a thing, what does a potential immigrant's inability to understand the concept say about his potential to assimilate?

<comment><USER3> They'd learn. Its a human thing.

<comment><USER5> Not beyond a certain imprinting age. See any story about feral children and their inability to integrate.

</comment></comment></comment></comment></comment><comment><USER6> Immigration is a lot like hiring. You want smart people with good cultural fit. Not in the sense that everyone must be the same culture, but the ideals and ethics of the two cultures must be rooted in similar things.

The puzzle is a bad implementation of the idea that we should test for intelligence. Again, like hiring. This is the fizz buzz test with all the same problems

<comment><USER7> > This is the fizz buzz test with all the same problems

What is your opinion on fizz buzz problems? I've found it to be a tremendous help in the early interviewing process.

<comment><USER8> Here's my issue with it. I've taken a few programming classes. I could easily write fizzbuzz as soon as I understood the syntax for loops. So, we're talking day 1 of programming class. I could write it in like 4-5 different languages right now. It would take some work, but I might even be able to figure out how to write it in assembly. I still haven't written an actual program beyond the simple exercises where you are trying to run a calculation and get a specific output from the command-line.

I suppose it's good at filtering out people that don't even know the syntax of a programming language, but do such people apply to programming jobs frequently enough for fizzbuzz to be useful?

Edit: Didn't intend to offend people. I just can't comprehend why a person would apply for a job when they don't know how to do it. I now get that it's a bozo-check, I'm just surprised there's s need for it. I hire in a similar industry and while we run into a lot of people that are obviously bad and or inexperienced, they usually at least know the basics.

<comment><USER9> Passing fizzbuzz isn't meant to indicate that the person is a good programmer.

Failing fizzbuzz is a quick way to indicate that the person is not a good programmer.

<comment><USER10> Failing the test is an indication that the person is 'not' a programmer.

You are mostly right, but are there any cases that a programmer wants to join a company and he can't even write a FizzBuzz program?

I have asked that question to all the programmers that I've worked with (with various levels of skill) and all of them can write it.

Is there any data on that? I would love to know if that test actually have helped recruiters to identify bad programmers. Like if they can explain what Ajax is and how it works, but fail to make a FizzBuzz program...

Sorry if it's a bit off topic

<comment><USER11> > You are mostly right, but are there any cases that a programmer wants to > join a company and he can't even write a FizzBuzz program?

Maybe I'm just being cynical but once you get involved in the process of screening candidates you realize that people will literally apply to any job regardless of their ability to perform it. So yes, there are thousands of cases every day where someone wants a programming job and can't even write FizzBuzz.

</comment></comment></comment></comment></comment></comment><comment><USER12> This is at least the second article in few weeks of self-congratulatory, virtue-signaling-masked-as-history we've seen from Smithsonian.

From this article I see two takeaways:

1) Despite the tome of the article, this test seems reasonable. If we take as given that we don't want to accept adults mentally incapable of caring for themselves, this test seems reasonable, and the described level of exclusions, less than 1000 for over a million immigrants, it seems very reasonable.

2) _HUMILITY_. The people operating Ellis Island 100 years ago were as self- assured of their beliefs as is everyone reading this article today. Consider how foolish we will look in 100 years.

<comment><USER13> Definitely super great to dismiss any appeal to morals or decency as "virtue signaling." Definitely not the sort of nihilism that corrodes and destroys civil society.

<comment><USER12> Defining virtue signaling as the action or practice of publicly expressing opinions or sentiments intended to demonstrate one's good character or the moral correctness of one's position on a particular issue.

The tone and substance of this article is not to illuminate the practices of the past in a relevant historical context, but rather to denigrate them and celebrate our own era. "Look how far we've come."

<comment><USER13> On the contrary, this article gives plenty of historical context: its entire purpose is to place the entry test in the context, first, of the tests which preceded it, and second, of the ideologies (eugenicist) which it reflected.

If all reflection on how far society has come are mere "virtue signaling," how can you have historical discussions on moral issues at all? You'd have to start with the premise that moral progress is impossible.

I'm not throwing around the word "nihilism," I'm using it because I think it's clear that the implication of your style of argument is the destruction of any kind of moral progress. Any society that is to progress morally must be able to define what it is progressing from.

</comment></comment></comment></comment><comment><USER14> >> As crude as the puzzle test may seem today, it reflected the belief that healthy immigrants should be admitted

Jigsaw puzzles can be quite tricky, beyond the simple wooden one used in the Ellis Island Immigrant test. The most difficult Jigsaw puzzles I have seen are the ones made from Pictures of Picasso [1], Edward Munch [2], Salvador Dali and other modern painters

[1] Picasso: [https://www.zestoy.com/oiloncanvas/jigsaw- puzzle/zmtlltgg/1/...](https://www.zestoy.com/oiloncanvas/jigsaw- puzzle/zmtlltgg/1/girl-with-a-mandolin-by-pablo-picasso.html)

[2] Munch: [https://www.zestoy.com/oiloncanvas/jigsaw- puzzle/zoxpwnju/1/...](https://www.zestoy.com/oiloncanvas/jigsaw- puzzle/zoxpwnju/1/the-kiss-by-edvard-munch.html)

[3] Ellis Island: [https://www.zestoy.com/englishinterstellar/jigsaw- puzzle/zpf...](https://www.zestoy.com/englishinterstellar/jigsaw- puzzle/zpfmdrso/1/ellis-island-immigrant-test.html)

</comment><comment><USER15> Would they break up families? To me that is the most immoral part of immigration policies and having borders.

<comment><USER3> Kind of. The whole family could go back. Or they could decide to leave one behind. It was sort of "Sophie's choice" as I understand it.

</comment></comment><comment><USER16> I think I'd have been deported - the facial profile that's made by the puzzle is bizarre looking, the kind of thing that you'd do and be convinced you'd got the wrong end of the stick.

<comment><USER17> As another commenter pointed out, there was a face drawn on the pieces, which made it pretty straight forward

[https://intelligencegroup581.wikispaces.com/file/view/feat_p...](https://intelligencegroup581.wikispaces.com/file/view/feat_prof.png/139922425/827x679/feat_prof.png)

</comment></comment><comment><USER18> > Within a decade, though, anti-immigrant, eugenic and racist forces would > persuade Congress to pass the Immigration Act of 1924, which dramatically > cut back immigration of Italians, Eastern European Jews and other groups > considered undesirable.

I guess people with names like:

Leo Szilard

Enrico Fermi

Albert Einstein

Robert Oppenheimer

and so on.

For more such foreign names please refer to the Manhattan Project bios [1]

[1] [http://www.atomicheritage.org/bios](http://www.atomicheritage.org/bios)

</comment><comment><USER19> They were just testing immigrant fingers for aptitude on assembly lines.

I don't see why y'all are knocking the test, except for maybe the claim it measured 'IQ' (which is a questionable concept in its own right.)

</comment><comment><USER20> I guess it didn't change much, it's just now Google which is judging fizz buzz tests! :)

</comment><comment><USER21> "We're going to call it 'extreme vetting'."

</comment><comment><USER22> This kind of history is what strikes me as so absurd about anti-immigrant rhetoric about "doing things the right way." If the ancestors of wide swathes of the American populations were judged by modern standards, they would have been turned away. Instead, their great-great-grandparents solved a jigsaw puzzle and had someone size them up to see if they "looked like they had TB" before they were let in the door. Their entitlement to some kind of imagined cultural patrimony is such an obvious historical fiction.</comment>


We need more fiberhoods. - <AUTHOR>

Somebody should create web app to allow folks from the rest of the US to pre-register for their local "fiberhoods". Google Fiber is currently limited to Kansas City, but wouldn't it be great to show Google how much the rest of us would like to have the same service. Anybody willing to run with this idea? <comment><USER2> You can put your address and zip code into the pre-registration box. Then check the box to be kept up-to-date about fiber deployments. That way Google knows you're interested.

Remember, Google isn't interesting in creating the future with this project. It's a research experiment to see what the future will look like, and how people _will_ use gigabit internet when that's available.

</comment><comment><USER3> FiberStarter? KickFiber?

Realistically though, Google Fiber deployment has very little to do with customer demand. Google's business model appears to require extreme regulatory capture which most city councils have no reason to allow.</comment>


Delicious not powerful enough for my needs - <AUTHOR> http://www.teabuzzed.com/2009/11/delicious-not-powerful-enough-for-my-needs/

<comment><USER2> Fred, this is an interesting post, but I have a bit of an off topic comment for you: I don't know if I'm missing a common font or what but I find your body copy font very difficult to read. On Firefox/Windows the kerning is all slightly off, so to my eye the words break in weird places. Also, the lime- green-on-white color for links is so low contrast that I had to highlight the text to read what it says. I tried MSIE/Windows just to see if it looks any better, and while it is better (I think MSIE is anti-aliasing the font), I still find it hard to read. Maybe it's just me.

<comment><AUTHOR> Thanks for the feedback. I tweaked it a little. Hopefully it's easier to read now. =)

<comment><USER2> Yes. Much better, thanks.

</comment></comment></comment><comment><USER3> I have good news related to the subject of organising research on the web. I'll try and open up the staging version in a few days. However, I don't have infrastructure to support a large user base yet, so please get in touch through firstname.lastname@example.com if you're willing to try the service out, and I'll send you an invite.</comment>


Changes I would make to Go (Go from a Rust programmer's perspective) - <AUTHOR> http://sitr.us/2017/02/21/changes-i-would-make-to-go.html <comment><AUTHOR> I know that "Go vs Rust" has been written about before. The perspective I wanted to take with this post was to examine specific ways I think Go could be improved.</comment>


Ask HN: Could somebody please create a friendly interface to Google Maps API? - <AUTHOR>

Trying to make simple google map to embed in a blog post about a boat cruise. No can do! Maps doesn't know about boats (other than ferries). I just want a curvy line up this channel, down that one, a line that I can rubber-band a little to show we went up this inlet and around the back of this island.
Do a little searching: lots of tutorials on the Maps API, with pre-reqs of Javascript and OO... give me a break! Yes I'm a programmer, no I don't know those nor have time to learn them just to inset a couple of maps in my blog.
Google's My Maps allows you to save a complex route with custom icons, but not via anything but road, public transit or airline, nor any other type of overlay. Bing, Mapquest have similar constraints. travellerspoint and others let you make itinerary maps but just draw straight lines from point to point.
There must be many who use google maps and who would like to show a detailed, customized route over water (think of all the weekend sailors!) or by private plane (private pilots!) or cross-country by hiking or skiing -- decorated with maybe a few circles, arrows, labels -- maybe links to pics taken at a given site.
So here's the idea: a user-friendly "draw on your map" website. It lets registered users put scalable point-to-point routes and other decorations on maps via a normal drawing-tools interface (virtual "pen", "hiliter", or "stamp"), compiling to maps API javascript under the covers. Host the decorated map and provide shortcut view and embed links. Paid mode unlocks more stuff (graphic features, number of waypoints, number of maps). <comment><USER2> Doesn't Google Map Engine let you draw on maps? I've just made this fake boat trip on there - [https://mapsengine.google.com/map/edit?mid=zZqQ_1KFWn6s.kygz...](https://mapsengine.google.com/map/edit?mid=zZqQ_1KFWn6s.kygzmISjMUyM)

They're embeddable on websites too - [https://support.google.com/mapsenginelite/answer/3024935?hl=...](https://support.google.com/mapsenginelite/answer/3024935?hl=en) (although with low limits on the number of views)

[http://milermeter.com](http://milermeter.com) (used to be [http://gmap- pedometer.com](http://gmap-pedometer.com)) also lets you draw on maps but I'm not sure how embeddable they are.

You could export the GPX from miler meter into GPS Visualizer and use their "share my map" feature - [http://www.gpsvisualizer.com/atlas.html](http://www.gpsvisualizer.com/atlas.html)

Faffy though, you're right.

<comment><AUTHOR> Yes I knew about drawing lines on a My Map; the interface to do is quite awkward to use, but only straight segments and AFAIK there's no way to set color or line width or dash/dot. In other words, it is like so much about Google Maps: it is infuriating because it teases you with what it _could_ be but _is not_.

Thank you very much, however, for leading me to what I couldn't find before, the iframe embed code for a "my map". It isn't anywhere under "Share" of course; it's hidden under the folder icon.

However, when I do embed a my map, as here:

[http://thispageintentionally.blogspot.no/2014/07/test- post-o...](http://thispageintentionally.blogspot.no/2014/07/test-post-of- google-map.html)

...the layer menu fills 1/3 of the iframe and won't go away. Another demonstration of GMaps teasing you with function that is almost helpful but not.

Here's another: in My Maps you can create a layer that includes directions from A to B for car, bike or walking, but you cannot show directions using the public transit mode. Why? What tourist does not want to show a route that involved a train or bus?

Yet another: when you create a layer with directions, it does not support directions to/from any of the points you've defined on that or another layer. Each destination has to be a new search.

Anyway excuse the anti-GMaps rant; my point is that this an application that would have wide use by many, the underlying engine (Maps API) is there, a clean, well-thought-out UI based on that engine could be a winner.

</comment></comment><comment> Lorenz-Kraft Hi, there is another nice library, but not google maps based:

There is also a nice ferry example ... [http://kartograph.org/showcase/italia/](http://kartograph.org/showcase/italia/)

<comment><AUTHOR> This, kartograph.org, looks really useful for the mapmaker who can program. Very, very pretty examples! However, it still requires programming knowledge, Python to create an SVG map, and good HTML/CSS and basic JS to load and display one.

I'm still suggesting the need exists for a no-programming, WYSIWYG, web-based, map design and share site. The number of potential users is I think large, but the intersection of those with Python/HTML/JS knowledge is miniscule.

</comment></comment><comment><USER3> GeoJSON is a great format that is supported by a lot of mapping tools, including Google Maps and Leaflet. And there is a nice editor for it already: [http://geojson.io](http://geojson.io)

<comment><AUTHOR> Hmm. I could draw a line representing the boat ride from Flåm Norway around to Gudvangen, so success there. But it's not clear to me what to do with the resulting code, a list of tuples of 15-digit coordinates. Remember, I'm suggesting a need for a tool that can be used by Judy Nonprogrammer. She (and I, who do know what an API is but don't want to spend time coding and testing merely to draw a sketch map) want to draw that line and immediately use and share the map with the line on it.

<comment><USER2> The geojson.io site also gives you an iframe for embedding or HTML link to your map if you hit the SHARE button.</comment></comment></comment>


Ask HN: How do you bill your freelance consultation services? - <AUTHOR> I am a freelance consultant mainly consulting startups over Skype. I do provide software development services for startups but that's an less frequent affair than daily consultations over voice/skype.
The problem is I am unable to bill these voice consultations efficiently.. though I have a hourly billing model, most of the times it's unclear where the consultation starts and ends. which makes it hard for me to turn an on going conversation into a billable conversation.
The second problem I face is the actual billing. Skype is a great platform but there's no way I can bill a conversation over Skype. then there's the whole cycle of send invoice-> follow up -> get paid or die.
How do you deal with such issues? (also, mention your domain of consultation, since I feel each domain would have it's own set of challenges) <comment><USER2> Not sure I understand where or why you are struggling. If you are doing hourly consulting you have to track all your hours and invoice for them. You are a one person show as a freelancer so you aren't tracking 10 people, so this isn't a big problem and trying to optimize on invoicing seems like there might be a different problem. You do have to set clear boundaries with clients on what is billable hours and what isn't though or they will kill you.

There are tools that can help make time tracking easier, I used to have my teams use an app (IIRC HoursTracker, or TimeTracker something like that) that let us setup projects, roles and rates and people could track their time in it. The app was inexpensive, like $5-6/per user and at the end of each week they would just use the app to send us their time. It would put it in a csv file and email to admin so we could then add the details to the invoices for clients. We didn't really use the rates section of the app, but the csv could've easily been converted into an excel invoice with a tiny bit of script. We did use the csv to import the time into our accounting tools too, made it nice to eliminate data entry mistakes.

I didn't do so much freelancing as I built consulting groups where we did software/hardware design/development, marketing and go to market planning for clients across numerous industries. So billable video calls and conference calls for strategy talks or status check ins were common. For the vast majority of clients we also stopped billing hourly all together and did weekly flat rates or monthly retainer agreements which made invoicing easier, but we still tracked time using the app.

Just a comment, not necessarily your issue, but something I council new freelancers and startups on quite often. A lot of business is done in excel and by hand, this is not bad, it actually forces vigilance and properly used is more powerful than a full blown ERP sometimes. Dismissing the use of simple tools or feeling like everything has to be automated and perfect is a recipe for disaster IMO, automate only once you have a repeatable process that has low to no variation in output etc.

<comment><AUTHOR> Would you have used say, a video call web app that could bill the client immediately after the call based on the call minutes ? Or would you still prefer to go for retainers ?

What I'm trying to understand is why the decision to move from billable calls to retainer model? Was it only the ease of invoicing or were there other factors ?

Also, "Dismissing the use of simple tools or feeling like everything has to be automated and perfect is a recipe for disaster"

"Automate only once you have a repeatable process that has low to no variation in output"

Love these two advice! Applicable to almost every business

<comment><USER2> Retainers are good because they encourage contact within some boundaries and provide predictable revenue which is the holy grail for consulting services. Even outside of retainer models though, we would have many calls with clients which were 5-10 minute chats, and we almost never billed for those. Those calls were "free" but were shown on the next invoice as such, with the time tracked. If we had a client abusing that we would discuss it with them and warn them further calls would have to incur billing. But a 5-15 minute call should be considered keeping the client happy and go into the marketing/retention side of the equation. I totally disagree with consulting where they are so worried about sticking it to the client, it is the wrong way to maintain a relationship. At the same time, there are clients who will abuse you and for those times, you need to have the talk and bill them very detailed.

I never invoiced clients immediately for a service, everything was based on written contracts, and no I wouldn't use an app like that ever for a professional client. Businesses have a typical cadence of weekly or monthly invoicing, doing anything more rapid is less a professional service and more a buy here/pay here credit card mentality. There is nothing wrong with that more immediate model mind you, just isn't the same thing as a contractual service between businesses.

If my goal was the immediate model you are discussing, I'd require a payment up front before the call/service was delivered. e.g. you pay for the call, then are connected and the payment covers up to a certain time period with no refunds, more time more money. Or alternatively, the payment details are taken up front but the time is tracked and the payment is completed once the call is done. But that isn't a B2B transaction, that's more a consumer model, again, nothing wrong with it, just different strokes.

</comment></comment></comment><comment><USER3> I'm a developer by trade, but the nickel and diming of time tracking is something I'm well familiar with. A few thoughts:

1) If you can, give a fixed-fee model a chance. Since your deliverables currently are, "We meet on Skype for a discussion about your needs and possible solutions," you could very easily charge a set rate for each meeting and just make sure you set a hard timebox on it. Set a pair of timers, one at 15 minutes to remind you and them that there's only 15 minutes left on this consult, and one when the time slot is over. Stick to your guns as if you have another appointment afterwards (and you should have one in that slot; that appointment is for compiling your deliverables for sending off).

2) Getting paid is a pain everyone experiences, freelancer and traditional business alike. A good way to deal with that is to require payment up-front. A fixed-fee model is perfect for this, but you can do it with hourly billing models as well. If your consults are always at least half an hour long, require a minimum up-front payment for that half-hour. Or have it be for a full hour, just to cover yourself. This also gets rid of the tire-kickers who just want your knowledge without actually wanting to pay you. Forcing them to put money on the table up-front, even if it's not the full amount, leaves you with the serious clients only.

3) For invoicing and time tracking, I recommend Harpoon ([https://harpoonapp.com/](https://harpoonapp.com/)). For your purposes, you'd use the time tracking functionality during your consultations, and then create an invoice for that time and send it off. Click start on the timer at the beginning of the call, click stop when you've ended the call, create invoice, add time entry, send to client (via email through Harpoon). You can even integrate it with Stripe for online payment collection, which reduces their barriers to paying you. It also has automatic reminders sent to the clients for unpaid invoices.

I'd be happy to discuss more on your specific needs. My email is in my profile.

Cheers!

<comment><AUTHOR> Hey, Thanks for being generous in taking out some time and writing so elaborately!!

Quick replies to your pointers 1) not all calls are of the same length Some calls need just 5 mins to explain a complex idea and some calls need 1 hour to explain something simple! Fixed pricing breaks here.. the opposite party will be like why am I being billed for one whole hour when only consumed 5 mins of your time ?!

2) upfront sounds great ! I'll try that .. but most of the times people get sold into paying for consultation only after the initial consultations fetches them some value. Tire kickers are anyway not gonna come back .. so they aren't of concern either way!

What do you think of an idealist setup of the following fashion: \- conversation starts for free \- client can see value and decides to pay \- by the end of the call client gets an invoice automatically with the consumed minutes of consultation

Ofcourse this is an ideal scenario but I think that would take care of my problems Is this something that makes sense ?

<comment><USER3> 1) I'd argue that what they're paying for is less your time and more your knowledge and ability to provide them with answers. They're only going to complain if you're specifically charging them for an hour of your time on the invoice. If you instead are charging a fixed-fee amount for an expert consultation, it doesn't really matter how much time they take. You set a timebox so they don't take advantage of you, but if they don't need more than 10-15 minutes of your time to get the value they wanted out of the discussion, there's nothing wrong with that.

2) It sounds like you could benefit from showing initial value in some other way, such as a newsletter, case studies, or knowledge-base.

3) From a client perspective, it feels odd that I'd walk into a free initial- consult meeting and then get an invoice afterwards, even if I got value out of it. I think most clients would feel the same way. If they're paying for a consult, they'll want to know up-front. The other way feels like a bait and switch.

That said, you know your clients best. If you think that they'll be receptive to that sort of thing, give it a try.

</comment></comment></comment><comment><USER4> I'm working in a small shop and we are using Salarybookapp.com on the iphone, it simple but very easy to use and gets the job done.

</comment><comment><USER5> Wave (waveapps.com) is easy and straightforward.

<comment><AUTHOR> well.. that's again an invoicing web app. The problem is the gap between consultation and invoicing. there's nothing to bridge the two immediately?

<comment><USER5> I use it for consulting it works great! If you want time tracking use toggl. Both are hassle free.</comment></comment></comment>


The Power Of The Follow Up - <AUTHOR> https://elasticsales.com/blog/2012/11/15/follow/

<comment><USER2> Do you think you will get a person to lean more towards a no than a yes if you follow up too many times and force them to make a decision? But I must say, following up 37 times is impressive!</comment>


Ask HN: Web Development Roadmap? - <AUTHOR> I am learning python and wants to build my career in web development. What tech stack should I learn? Any roadmap? <comment><USER2> Almost every language has an MVC framework available, if you learn one a lot of the terminology and concepts will be the same in others. For Python, Django is the most popular one. You should start there and learn how to make something without involving JS then once you become comfortable with the backend you can add a frontend JavaScript framework like Angular, React, Vue, etc.

<comment><USER3> Check out Real Python ([https://realpython.com](https://realpython.com)) for learning Python with web development. Real Python takes an experiential, learning by doing approach.

</comment></comment><comment><USER3> If you go the JavaScript route, you only need to learn one language. Check out [https://www.freecodecamp.org/](https://www.freecodecamp.org/).

</comment><comment><USER4> Pick a stack for back and frontend, stay with it, and get good instead of jumping around constantly. Doing otherwise will slowly put you behind, and you will have to work pointlessly hard.

<comment><USER5> Python is a great start. Pick up a simple front-end framework like bootstrap. Get good at using the two to build simple websites for yourself (just make something up like a fake restaurant website or store inventory website). Then start looking at web frameworks related to Python. After all that take a look at PHP and PHP frameworks and try to learn at least one really well (eg. Zend, CodeIgnitor, Laravel). By that point (a year or two from now) you'll know enough about the web development industry to carve your own path through the forest.

EDIT: my reply was meant for the OP. Apologies.</comment></comment>


Installing A/UX on the Quadra 610 (2018) - <AUTHOR> https://blog.pizzabox.computer/posts/installing-aux-quadra/ <comment><USER3> One thing from A/UX that would be nice to add to the GUIs of current Unix/Linux systems is Commando. Commando was a nifty thing in the terminal program under the System 7 environment [1].

If you typed the name of a command, such as ls or sort or cc, and then typed an ellipsis (…) it invoked Commando which would put up a dialog box for constructing the command.

The dialog box would have check boxes or radio buttons for the various available flags, text boxes for arguments, buttons to invoke file choosers for stdin, stdout, and stderr, and probably more that I'm forgetting. These things would be organized into sensible groups.

For complex commands like cc, there would be buttons that invoked subdialogs such as a dialog for code generation settings, a dialog for warning/error settings, and so on.

The Commando dialog would show you the command being constructed, and if you accepted it that would be entered into your terminal.

[1] A/UX had three ways it could run. (1) Console only, which used your Mac display as one big terminal, (2) GUI using X, which used the Mac display as as an X server, and (3) System 7, which ran a modified Mac System 7 on top of Unix, with System 7 having control of the GUI, and had a Mac terminal program that could run Unix processes.

<comment><USER4> IBM i (previously called OS/400, the operating system of the IBM AS/400) has a similar feature. At the command prompt, you type a command name then press a function key and it brings up a (text-mode) fill-form UI you can use to specify command arguments.

Part of how it works – on Unix, command arguments are just a list of strings, and any option parsing (etc.) has to be done by the code of each command. By contrast, on IBM i, there is a declarative language used to define the syntax of the command (allowed options/arguments, what values are allowed for each, etc.) The declarative command definition is compiled into binary form and installed into the system. When you run a command, the operating system uses the installed command definition to parse and validate the parameters and marshal them into a memory block. If the parameters are invalid, then the OS produces the error and the command executable never even starts. If the parameters are valid, the memory block gets passed to the command's code. These same declarative command declarations are what gets used to generate the fill-in form UI.

<comment><USER5> That's an ingenious solution. Whoever thought of that was very, very smart, forward looking and insightful. We need to bring that into illumos, the runtime linker in illumos already has capability to do all sorts of things before the excutable even starts, so it would be the perfect place to plug into. It can easily be made optional, so programs which do not generate this declarative part will continue to function unmodified and nothing will be broken.

Just to set the record straight though, while the options in UNIX programs are very different from program to program, good UNIX programmers know to use getopt(3C) libc function and not invent their own custom parser. All programs which use getopt(3C) have a uniform, consistent option parser and command line behavior. [https://illumos.org/man/3c/getopt](https://illumos.org/man/3c/getopt)

<comment><USER6> If only [http://docopt.org](http://docopt.org) was invented and standardized and widely adopted in the 80s…

> good UNIX programmers know to use getopt(3C) libc function

Well, when writing in C. People don't really use this from other languages.

<comment><USER7> We use getopt style command line parameter parsing in at least Java, Perl, Python, and BASH at work, so I wouldn't say that this is unused.

We're also primarily a UNIX shop at work, so that might be part of it.

</comment></comment></comment></comment></comment><comment><USER8> So much love! I worked on A/UX's original Unix port, wrote many of the drivers,the AppleTalk stack, made the thing field configurable so you could write your own drivers (at a time when kernels had drivers compiled in), and wrote the original event manager. I also got to debug the original Mac II hardware, and help fix it.

Our internal code name for the project was "Pigs in Space", Apple's was "Eagle", when theirs leaked to the press we were in the clear

<comment><USER9> Do you still have any of the relevant software or documentation?

I am looking for the Apple A/UX Device Driver Kit (APDA M8037/B), which should include a book titled "Building A/UX Device Drivers". I am specifically interested in driver source code.

Here is an incomplete list of A/UX software and documentation of which I am aware. Helping preserve any of the missing items would be highly appreciated.

[https://gist.github.com/mietek/174b27e879a7b83d502a351ea3aaa...](https://gist.github.com/mietek/174b27e879a7b83d502a351ea3aaa831)

My contact information is in my profile.

<comment><USER10> I'm also looking for this documentation as I'm working on a new Ethernet card for the Mac SE/30.

[http://www.mactothefuture.org/](http://www.mactothefuture.org/)

<comment><USER8> If we can't find the docs try the BSD 4.1/4.2 docs, A/UX is essentially UniPlus which was vanilla AT&T System V with Berkeley 4.1 networking added, the Apple team upgraded things to BSD 4.2 networking by A/UX 3.0

<comment><USER10> I found some source code for UniPlus v1.5 for the Apple LISA.

[https://github.com/arcanebyte/uniplus](https://github.com/arcanebyte/uniplus)

The 3Com Ethernet driver looks very similar to the one from the 4.2 BSD distribution.

[https://github.com/arcanebyte/uniplus/blob/master/v1.5/sys/i...](https://github.com/arcanebyte/uniplus/blob/master/v1.5/sys/if_ec.c)

So I'll need to see if I can emulate how drivers are linked in and probed.

<comment><USER8> That's much older than A/UX, likely v7 or System III based with BSD4.1 networking

(We did both V7 and SIII ports to the Lisa)

<comment><USER9> Any luck looking for those A/UX materials? I have no way to contact you outside HN. Please drop me an email or a tweet.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Fun! A/UX was neat... I was always a big fan of System 7, and this was System 7 running on top of a real Unix environment. Many years ago I picked up an "Apple Workgroup Server 95", which was basically a Quadra 950, to try running A/UX on. It's definitely an old Unix, but it certainly worked. Perhaps the neatest thing Apple did with it was the "commando" interface... in the Unix shell, you could enter a command (say "ls") and hit a hotkey to pop up a Mac- style dialog box that had check marks for all of the flags, text entry boxes for all of the paramaters, etc. Perhaps one of the more usable Unix- derivatives ever! Even MacOS X doesn't have a similar capability. The only system I'm seen like that is IBM's AS/400, with the F4 prompting to help with all system commands. Nice to have a self-documenting command line interface.

<comment><USER12> One thing I'm curious about- was Commando "pre-baked" with dialogs for all of the pre-installed utility commands, or did it pull from some kind of user- extensible database? Metadata stashed in the resource fork of the commands, maybe?

<comment><USER13> The MPW version of Commando relied on a 'cmdo' resource on the utility.

<comment><USER12> Cool! A very elegant and "Classic MacOS-ish" solution.

</comment></comment></comment></comment><comment><USER14> Circa 2003 I found an old Quadra [forget which model, but with an MMU -- still have it powered off in a closet] on eBay for less than $20, and installed A/UX.

I got some old Mac software (some games, and an old release of Netscape), and some GNU ports (gcc 2.8 ish I believe?). It was interesting what could have been - there is a simplicity in System 7 UI that OS X doesn't have. But after a while it became kind of boring, another dated Unix machine that can't run a lot of recent things.

The most dated thing I remember from the time was it didn't support DHCP.

<comment><USER15> Any chance you had a power meter hooked up? I find it fascinating how much less waste heat we generate per unit of computation.

</comment></comment><comment><USER16> Do note that A/UX was not a "path forward" for Apple. Mac apps were all cooperatively multitasked in a single address space so all the same problems remained. macOS (neé OS X) finally delivered Carbon which made the transition to modern features possible. That was not a trivial transition though - <USER2> were simply a big chunk of APIs that could never be made to work in a world of separate address spaces and pre-emptive multitasking, let alone your own app's behavior with respect to (or likely lack of) locking / thread safety.

Microsoft definitely learned some lessons from classic Mac in that regard but they still weren't able to promise 100% compatibility with the switch to 32-bit without compromises. Windows NT could run 16-bit apps in a rock-solid way but not all apps would run: some APIs were just incompatible. Windows 95 could run just about anything but had infamous reliability problems.

IMHO the takeaways are:

1) Platform transitions can be difficult, especially if you haven't done one before and don't know what will bite you about your current platform 2) Compatibility is key. Where you can't maintain binary compatibility offer source compatibility. If you can't offer 100% source compatibility, then offer as much compatibility as you can. Every little bit helps.

</comment><comment><USER17> If you're short on 68K Mac hardware but want to try A/UX, check out Spoonbill:

[https://github.com/pruten/shoebill](https://github.com/pruten/shoebill)

"Macintosh II emulator that runs A/UX (and A/UX only)."

</comment><comment><USER12> Cool stuff. I've never had any of the old mac models A/UX supported. Seems like it would be fun to tinker with. I find System 7 very aesthetically appealing, but it would be nice to still have a CLI and old friends like grep close at hand.

Probably worth noting that this post is from 2018.

<comment><USER18> I always wanted to make an X window manager that looked like System 7, particularly because I quit using Macs when OS X came out due to a general sense of pique.*

I know people have made attempts as Mac-like interfaces, but it would be a huge task to make one with as much attention to detail and consistency as the original. And then you might be infringing anyway.

*Like, I'm not colorblind, but changing the traditional hieroglyphic window controls to bubbles distinguishable only by color signified an attitude/culture change that irritated me.

<comment><USER12> The black-and-white Macintosh look-and-feel is just wonderful. Simple, crisp, and reads well.

It's interesting to compare even MacOS 1.0 with contemporary imitators. Windows 1.0 looks horrific, and GEOS has an uncanny resemblance, but everything is clunkier and uglier in subtle ways. Susan Kare is a genius.

If I could use Linux with a pixel-perfect System 7-like window manager I'd be delighted. It would probably be necessary to rewrite a suite of everyday applications to really take advantage of the look-and-feel and have internal consistency, but that could be its own fun project.

<comment><USER19> This might not be what you want since you've specified System 7, but if you like the Platinum theme used in Mac OS 8 and 9, I recommend the Platinum9 theme for XFCE, which is what I've been recently using whenever I use a Linux desktop:

[https://github.com/timnetworks/Platinum9](https://github.com/timnetworks/Platinum9)

I find this theme quite pleasing to use whenever I'm using a Linux desktop. However, it's not yet pixel-perfect, and this also doesn't address the fact that GTK and GNOME applications are written under a completely different set of UI guidelines than classic Mac apps were, and so it's still largely a Mac OS 8-like veneer over the Linux desktop.

Even so, this theme looks like an excellent foundation for a suite of GTK applications that employ the mid-1990s Apple Human Interface Guidelines. What would be tantalizing would be forks of AbiWord and GIMP that look and feel like Microsoft Word 5.1 and classic versions of Photoshop, respectively.

<comment><USER18> "if you like the Platinum theme used in Mac OS 8 and 9"

There were three iterations (that I recall) of the interface on color Macs - the first one had window controls that were black and white, the second had a subtle 3d effect, and the third (which I think you mean by "Platinum") had more depth and was mostly gray.

I personally preferred the second. Attempts at imitating grayish metal on screen don't appeal to me, and I thought OS X got even worse when they switched to the brushed metal look.

But I really liked the design theme for the physical cases that was also called "Platinum" even though I think it's generally considered an uninspired period for Apple. And I have nothing against the aluminium or titanium Mac cases either.

The one change I would make to a "neo-Mac" window manager would be to have handles on all sides of a window for resizing. Although I like the Mac approach of having scrollbars and a lower right resize control that are substantial and obvious, I also like the ability to resize from all sides like most other interfaces have. I know there were Mac programs for the classic OS that did implement something like that, but it was never universal.

</comment></comment></comment></comment></comment><comment><USER20> Current builds of NetBSD still run just fine on Quadras.

<comment><USER21> Very true. In fact, aside from the big fridge-sized VAXes and some early Sun-3s, I'm pretty sure the Macintosh II of 1987 is the oldest commodity computer that can still run a mainstream and maintained UNIX-like OS. You can even stick 128 MB of RAM in one!

<comment><USER22> Amigas as well.

<comment><USER23> Commodore didn't ship an Amiga with an MMU until the 2500/20 in 1988.

<comment><USER22> Fair enough, got the year wrong.

As info for others,

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

</comment></comment></comment></comment></comment><comment><USER24> I ran it on a Mac IIcx. As I recall, one could also purchase Sun's NeWS windowing system for it.

</comment><comment><USER25> Brings back memories -- I had an SE/30 maxed out with 8MB of RAM, and ethernet with the D-shell connector, and A/UX. Still have it; it still booted, last time I tried.

I didn't find out until this year that I could have replaced the 1MB modules with 4MB ones, and have 32MB.

<comment><USER12> Might want to image the drive on that thing before it inevitably fails and pop in a scsi2sd. An ounce of prevention, and all that.

</comment></comment><comment><USER5> I just have to ask -- does A/UX use any type of software packaging format? Is it SVR4 pkgadd(1M) / pkgrm(1M) / installf(1M) / removef(1M) / pkginfo(4), or something else? Is there any documentation on how to make OS packages for it, and if so, where is it?

Is there a way to perform a completely automated, unattended installation of A/UX over the network, like Solaris' JumpStart(TM), redhat's Kickstart, SuSE's AutoYaST, or SGI's roboinst?

<comment><USER10> No it doesn't

</comment></comment><comment><USER26> Cool. In 1991 I built an ISP based on Macintosh hardware and A/UX. Especially the Newsgroups with uucp and nntp where fun. We gradually added BSDi based routers and terminal servers but even this we initially did with A/UX and ARA modem banks (Appletalk over dialup 14.4K modems)

</comment><comment><USER27> Wow, that takes me back. I ran it on a Quadra too (although I forget which model), and it was a great way to both talk to the VACxen and DECstations on campus and run/script a few things locally.

</comment><comment><USER28> I wonder how an A/UX with memory protection and preemptive multitasking would fare today.

<comment><USER29> > I wonder how an A/UX with memory protection and preemptive multitasking > would fare today.

I believe A/UX had both of these things, although it ran all the System 7 applications inside a single address space. I suspect that without this measure, many native Mac apps would not have worked.

<comment><USER30> I think apps could also be ported (mostly just recompiled?) to run in separate address spaces. So you could have a Mac app that was its own A/UX process.

This seems to have some details:

[http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...](http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2010/9/25_A_UX.html)</comment></comment></comment>


Tell HN: The Internet needs context menus - <AUTHOR>

Last week I switched from the Apple/MobileMe/iPhone ecosystem to an everything Google ecosystem. I have since been using Google's webapps, most notably the mail, calendar and reader.
The biggest difference to native apps I noticed is that there are no right-click context menus. I am conditioned to right-click on objects that I want to do stuff with. I think this is a very useful und powerful convention and I regularly get frustrated when it doesn't work in webapps.
Is there a reason that so few webapps implement context menus? Am I the only one who misses them? Is there a solution? <comment><USER2> You're conditioned to _right-click_ on an object coming from an Apple ecosystem? Coming from a mostly PC background, but with an OSX laptop, the total _lack_ of importance given to right-clicking (ctrl-clicking) or context menus is the thing I most associate with the Apple ecosystem.

</comment><comment><USER3> I would guess there's a jQuery plugin or three (or a plugin from another framework) that would do this.

I see two major issues why you wouldn't want to do it though. One, you're already in an app with a context menu, ie the browser. How do you deal with overriding its context menu while staying out of the way? Two, touch devices can't emulate a right click (like they can't emulate hover). Major bummer for accessibility, especially if your app is designed to leverage context menus heavily.

You might consider something along the lines of a context menu button, which you could put next to actionable items and would take a direct click to pop open a menu. Of course, that's just a menu bar stuck somewhere in the page. Whether or not it would be worth the trouble I guess is application specific.

<comment><AUTHOR> Those are exactly the two issues I had in mind, too.

For touch devices, Android's policy seems to be click+hold to enable context menus.

And the issue with the browser's context menu is the reason why this probably needs standardization.

<comment><USER3> Ah, you're right. iPhone use touch + hold extensively as well and I would assume the other touch devices do (because there's not much else to work with).

I guess you could re-create the functionality normally present in the browser's context menu (maybe they expose that somewhere, I don't know much about browser design) while adding in your own application-specific commands, but that's another nightmare in dealing with a host of different browsers.</comment></comment></comment>


Apple goes after Galaxy S3, Note in new court filing - <AUTHOR> http://news.cnet.com/8301-13579_3-57504756-37/apple-goes-after-galaxy-s3-note-in-new-court-filing/

<comment><USER2> Apple supporters - Please understand that this is a clear abuse of patents by Apple more than anything else. Why? Because, the phones they are suing right now (Galaxy S3, Galaxy Note) are phones that have been designed to NOT look like the iPhone (as Apple had alleged earlier) nor use any of their technologies. This is clearly to stiffle innovation and competition by unethical means, by abusing the patent system. What's disheartening is that Samsung actually spent considerable effort to make these phones look different (Heck, one of them even has a stylus, something Steve Jobs himself was against) and yet they still find Apple suing them.

 _What are the patents that Apple is using to sue Samsung against?_

The four new patents Apple is leveraging against Samsung include the '647 "Data Detectors" patent, the '721 "Slide-to-unlock" property, the '172 "Word completion" invention and the '604 "Universal search" patent.

All of them Bullshit.

Understand this, my fellow HN'ers, make no mistake, this is a threat for the entire Start-up community. Tomorrow you might be sued for the same BS reasons if you started a phone company as well (Sorry for repeating this, but I feel it's important). This is one of the primary reasons why we don't see hardware- based start-ups - Because of the fear of being sued by monopolies like Apple. If you would like to show your support, please consider boycotting Apple. There is strength in numbers. Please show your support.

And my only message to Apple is - Fuck you, Apple. Its only a matter of time until you will collapse for all the unfair BS you have done to us, as a community.

Thanks for reading.

<comment><USER3> I agree about patents, but Samsung have some terrible business practices too.

We need to get rid of these kinds of patents and find new ways to protect US (or European, whatever) companies so that we don't keep getting screwed over by Asian countries blocking our products/services/companies and cloning them.

<comment><USER4> I sympathise with the need to protect your market, but I'd say US web/tech companies have generally been more successful than European or Asian companies in dominating global markets. Google, Facebook, Twitter, Apple, Microsoft, Groupon, eBay/Paypal - all are the big boys on the world stage. US tech companies are so dominant that competitors in most small countries get swallowed up (not unfairly). The exception is consumer electronics, but US firms haven't competed in that industry in a long while.

Don't paint the US as the poor, screwed victim when it's the largest, most profitable market in the world, and companies from other countries stand next to no chance of taking a lead there. The rest of the world generally does little to block US companies (China excepted). All we can do is try to establish ourselves in our own markets and hope we're acquired by foreign/US firms for a good price when they arrive on our shores.

<comment><USER3> Why do companies from other countries stand little chance of being successful in the US?

Developed Asian countries _do_ do as much as they can to block US companies; that's the problem. South Korea is being protected by the US, but they are a prime offender. Obama was quite vocal about this before he started running for president.

</comment></comment></comment></comment><comment><USER5> I'll repeat my statement from when the 1 billion dollar verdict was made, since it seems like little will change before people vote with their wallets:

Today Apple went down in history as the biggest patent-troll of all time, stiffling innovation and competition like nobody has ever done before.

If you are a software-developer you should recognize the fundamental threat which Apple represents to your profession.

Boycott Apple if you want to be able to stay in business in the long term future. Throw away your Macbooks, iPhones and iPads. Ditch your iTunes and iTunes account. Get rid of everything Apple. All of it.

Be vocal about your code of ethical software conduct and how that prohibits involving anything made by Apple into anything you ever do.

<comment><USER6> Apple is a company compelled to be greedy. It's actually the law for Apple to make as much money as possible given any legal and ethical way it can. Suing another giant tech company over legitimate patents is ethical. The system is designed so that a trial determines if the patents are legit. This is what happened. If you don't like that, then fix the fucking patent system. Quit whining that your favourite tech company lost.

Companies are not teams, they are simply the manufacturer of a product that you either bought or chose not to buy. If you don't like the way a company is legally and ethically running it's business, then change the law. Don't boycott the company who is succeeding best at working within the framework provided.

<comment><USER7> >It's actually the law for Apple to make as much money as possible given any legal and ethical way it can.

A corporation has a fiduciary duty to act in the best interest of its shareholders, but I think this fact is greatly overstated. Since "best interest" is such a flexible and uncertain concept, most cases where people bring this up are not really the "legal imperative to be assholes" that they believe. By suing Samsung over this, Apple has risked triggering an all out patent war between the major players in the mobile market which could end up costing them tremendous legal fees and may wound them grievously if any of the ensuing lawsuits were not decided in their favor. Suppose Apple had not taken to Samsung to court over these patents. Does it really seem plausible to you that the shareholders would sue Apple's board of directors, and win?

But assuming that corporations are legally expected to perfectly predict the future and optimize for their shareholders' interests, a boycott would _still_ be warranted. If we let companies see that acting like a bully will hurt their bottom line, then those companies will be legally compelled to act in the interest of their shareholders by not being bullies.

<comment><USER8> Speaking from the UK perspective, the false idea that maximisation of profit is inferred in any way by corporation law is sometimes more easily seen when examining the case of 'Private' companies. These are companies still limited by shares, or stocks, but where the director, the single shareholder, and the employee are all one and the same person.

It can be a valuable example because it is easy to show how a director making decisions that maximise benefits to the shareholder are not necessarily in the best interests of the company entity, and in fact are viewed with suspicion by regulating bodies.

The best interests of the company include many other considerations besides shareholder return. One of those has to be long term viability for a long lived corporate entity. Eroding goodwill and reputational or brand damage go directly to the heart of the concept of director responsibility.

</comment></comment></comment></comment><comment><USER5> I just had a realization that at this point Apple is actually seeking to ban an _order of magnitude_ more devices than they actually make them-selves.

I know the term "patent-troll" is often preserved for non-practising entities, but at this rate Apple is clearly doing its best to qualify for the badge none the less.

<comment><USER9> IMHO, this is worse than any existing patent-troll. Patent trolls seek to force license agreements with practicing entities through litigation. They are, at worse, a serious _annoyance_.

Apple is seeking to entirely _kill off_ an industry competitor from the marketplace (and their claims at being willing to license are disingenuous at best as the suggested publicly known license fees show). They are now a serious and terminal _problem_ for the entire industry.

There was a brief moment a few months ago where I thought about buying some new Apple hardware, the new rMBP look delish. But now? Never mind. I'll wait till Samsung brings out a decent ultrabook with a high res display and give them my money directly.

<comment><USER3> > Apple is seeking to entirely kill off an industry competitor from the > marketplace

Samsung had the South Korean government block the iPhone from South Korea for two years when it was released.

</comment></comment></comment><comment><USER10> Oh oh. This is going to get ugly very quickly.

The Galaxy S3 is the first phone I've seen in 5 years that people I know actually prefer over the iPhone.

At the fund I work at, of the 14 employees, 9 have switched from iPhones to the S3 and only 1 has gotten a new iPhone.

</comment><comment><USER11> Apple management are becoming real assholes.

I had planned on buying a new rMBP but have permanently taken that off of my shopping list because I don't like where Apple is heading. A few months ago I bought my stepson an iPad 3 for his birthday and that might be my last Apple purchase.

I recently bought Galaxy S III phones for my wife and I and I don't see so much similarity with the iPhones, not even getting into prior art issues.

Apple has the legal right to peruse any legal proceedings they want but as consumers we can vote with our wallets.

And, there are now some very sweet non-Apple laptops :-)

<comment><USER3> You can hardly take the ethical high-ground if you've been buying Samsung products.

</comment></comment><comment><USER12> The S3 is probably the first Samsung phone 'designed by lawyers', as someone posted here a few weeks/months ago.

Samsung really made an effort to avoid infringing 'trade dress' and other claims made by Apple. Most patents they're going after this time shouldn't exist at all (or, at least, many other manufacturers would be affected).

</comment><comment><USER13> Galaxy S3 is specifically designed not to look like the iPhone. Galaxy Note is a completely different type of product. It has a stylus and a giant 720p screen.

It seems unlikely that anyone would confuse these products with an iPhone. They are not trying to be like iPhone.

I honestly don't understand what Apple is trying to do. There must be a logical explanation.

<comment><USER14> _I honestly don't understand what Apple is trying to do._

"I'm going to destroy Android, because it's a stolen product. I'm willing to go thermonuclear war on this."

</comment></comment><comment><USER15> I wonder if Apple and Samsung have some kind of deal where they sue each other for marketing purposes. It keeps them in the news, in blogs and in discussion forums. Few other products receive this magnitude of in-depth feature and style comparison. Samsung may have to pay one billion to Apple, but maybe they saved much more money that it otherwise would have had to spend on marketing.</comment>


We Can't Let People Work from Home Because - <AUTHOR> http://blog.davidtate.org/2016/12/we-cant-let-people-work-from-home-because-_______/ <comment><USER2> TL;DR - If you ask me to work in your office, you are an idiot. Give me a break. Somehow this kind of condescending, flippant, and blanket stance always comes loudest and most frequently from people who just want to work from home themselves. Almost everyone else seems to understand there is some nuance to the issue.

(At my company we work remotely 95% of the time so I'm not in the opposite camp either, just saying it isn't black and white and this guy's tone is super rude)

<comment><USER3> I work from home, as well have consulted for many companies on the road, and agree with you.

I personally, will never work in an office regularly, but there is a tremendous amount of variation within companies on their stances on even a consultant working in an office, or remotely.

You'd think that because they have to pay me gobs of money to fly me on site, they'd be far less interested that I was onsite. This is wrong.

For one month, they'd spend maybe, 2000 a week to have me onsite, then adding in my actual costs.

Seems ridiculous, but most companies preferred that arrangement. The more tech savy the company was, the less they were interested in me being in an office.

</comment></comment><comment><USER4> > But we can't let our people not see each other, they won't communicate well.

I disagree with this point. Yes, people can communicate effectively from afar, but can they communicate _as well as they could if they were sat in a room_? I don't think so.

<comment><USER5> That's also my only nitpick on the article's list. Interpretation of messages from coworkers happens in an emotional context, and if you don't refresh that context every now and then (weekly?), strange things happen. Like, people start arguing because minor nitpicks expressed without any malice are interpreted as "you suck, shame on you for making that mistake" \- or vice versa.

<comment><USER6> You can get around this by hiring level headed people. High maintenance people will cause trouble if you are in an office daily or remote. No difference.

</comment></comment></comment><comment><USER7> There is a rational excuse for every bad decision in history.

When the arguments for certain practices that are highly consequential become obvious, simple, predictable, perhaps even tautological, I usually take it as a sign that the whole thing is likely unfounded.

You'd think some company would measure how productive their engineers are in "open office" or strictly on-prem working environments and resolve the matter firmly rather than blindly following the prevailing wives tales, but as far as I'm aware just about every aspect of "management" is not up for consideration.

(Just don't let them catch on to the fact that finding someone's name in Slack is actually pretty easy and that getting things down in writing is always a better idea than relying on people's verbal memory for critical transfer of information, and that the less an engineer is distracted and the more comfortable he is the better he will perform)

</comment><comment><USER8> Get some processes going and you're all set for remote work.

Problem is, most smaller companies don't have processes, because they have some management that doesn't know the tiniest bit about management.

Throw a few people in an office, they will see each other on a daily basis and maybe talk about business and things will go okay. This is was most managers think is management. This doesn't scale, even if you have everyone working in one office.

<comment><USER9> I think as a society we are collectively losing the ability to manage people. It seems management breaks down into two groups... really good technical people who were promoted, but don't necessarily know anything about or have the skills for management, and "professional" managers who might have an MBA or other similar training, but often don't know jack about what they are actually managing. Both are less than optimal.</comment></comment>


A Link Between Pure Math and Physics - <AUTHOR> https://www.wired.com/story/secret-link-uncovered-between-pure-math-and-physics <comment><USER2> Discussed at length:

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

<comment><AUTHOR> thanks for the pointing...I did not have the chance to check out hn at the time...

seems that currently hn uses url as the sole criterion to identify duplicate topics; but I guess one of the alternatives to that would be to use some semantic based features to merge equivalent topics unto a same topic thread -- but then in that case, it would all depend on how we define _equivalence_...</comment></comment>


What does Paypal (eBay)'s acquisition of Braintree mean for Stripe? - <AUTHOR> https://www.quora.com/PayPal/What-does-Paypal-eBay-s-acquisition-of-Braintree-mean-for-Stripe/answer/Patrick-Collison

<comment><USER2> The acquisition won't hurt Stripe. It does sound like a solid move for Paypal if they don't mess Braintree up. Both Stripe and Braintree are good.</comment>