The Lisp keyboards - <AUTHOR> http://deskthority.net/viewtopic.php?f=2&t=98&ok <comment><USER2> Why are the parentheses in such an awkward place (Shift+8, Shift+9, or Shift+0)? I don't program Lisp, but why don't Lisp keyboards put parentheses in a more convenient place?

Also, there are quite a few modifier keys ("Function", "Super", "Hyper", _"Rub Out"_ , etc)? Anyone know the purpose of all of them?

<comment><USER3> Super and Hyper are modifier keys for Emacs and to let you type things like Greek letters and math/logic symbols easily (you can see math symbols on the Space Cadet and Knight keyboards).

Rubout is just backspace. IMO having it next to the 'a' is a really good position; I rebind my Caps Lock key to Backspace on my machines. It's more convenient than the Sun-style "Control as Caps Lock" layout.

<comment><USER4> > Rubout is just backspace. IMO having it next to the 'a' is a really good > position; I rebind my Caps Lock key to Backspace on my machines. It's more > convenient than the Sun-style "Control as Caps Lock" layout.

One of my favorite keyboards of all time had the spacebar split in two. Because I learned typing such that I always use the right thumb to press the spacebar, the left half of the spacebar made a very good backspace. I've often wished I could find more good keyboards like that.

<comment><USER5> The Kinesis Advantage is a bit like that: although they're not a usual spacebar shape, space is under the right thumb, and backspace is under the left thumb.

</comment></comment></comment></comment><comment><USER6> You can build an adapter to make the Symbolics keyboards USB. I've got the parts and the keyboard, but haven't taken the time to re-compile the code for the Teensy 2.0 yet.

[http://netzhansa.blogspot.com/2009/04/how-to-convert-your- sy...](http://netzhansa.blogspot.com/2009/04/how-to-convert-your-symbolics- keyboard.html)

</comment><comment><USER7> How did this get past the dupe filter? <http://news.ycombinator.com/item?id=2189916>

<comment><USER8> As it's exactly the same URL, maybe the dupe filter has a date horizon?

<comment><USER9> PG has said that the dupe filter only works for articles that are loaded in memory

<comment><USER8> I see; perhaps someone should collect this stuff. :)

</comment></comment></comment></comment><comment><USER10> <http://mykeyboard.co.uk/microswitch/>

Not lisp specific, but he does have dedicated paren keys.

</comment><comment><USER11> I actually have the guts of an original Space Cadet keyboard. By "guts" I mean it's just the part made by Micro Switch: the PC card with all keyswitches and keys and all wiring, but no microcontroller and no case.

Nor, alas, do I have the source for the program the microcontroller ran. (I'm pretty sure it was an 8748.) Lacking that, I think it would be pretty hard to get the thing to work.

<comment><USER12> There are various ways to get the thing to work, for example check here: [http://deskthority.net/viewtopic.php?f=7&t=7](http://deskthority.net/viewtopic.php?f=7&t=7) and here [http://deskthority.net/viewtopic.php?f=7&t=15](http://deskthority.net/viewtopic.php?f=7&t=15) Of course, I advise you to forget about doing all that yourself and hand it over to the guy who wrote the Lisp keyboards article (hi!).

</comment></comment><comment><USER13> I have wanted a space cadet keyboard for close to 10 years now. Not only because it's really cool but because I live my life inside Emacs and this is the ultimate Emacs keyboard. Should clear up my Emacs finger pains in no time, not to speak of modifier key heaven.

</comment><comment><USER14> This is why I switch my CTRL and ALT keys, it makes Emacs painless.

</comment><comment><USER15> Notice the absence of cursor keys.

<comment><USER16> Not sure but something gives me the impression that the cursor keys are at the far right (thumb up/down and finger pointing left/right).

<comment><USER11> Those weren't used as cursor keys. Cursor motion was done with Emacs commands (C-b, C-f, C-n, C-p).

In fact I don't recall the OS using those keys for anything at all; they were available to applications, though.

</comment></comment></comment><comment><USER17> I really wish there was a company that would produce replicas of these keyboards which used USB. If I thought there was any chance of it being successful, I would open said business immediately. But alas, I don't think anyone wants to use these monstrosities anymore.

<comment><USER3> There are _tons_ of niche keyboard producers around. Most of them would probably be willing to work on custom layouts if you can show pre-orders. Here are some that produce quality mechanical keyboards:

<http://pckeyboards.stores.yahoo.net/index.html> <http://pfuca- store.stores.yahoo.net/index.html> <http://elitekeyboards.com/> <http://www.diatec.co.jp/>

Something like a Happy Hacking keyboard with a Space Cadet layout would be a big hit IMO. Put me down for a couple.

<comment><USER15> I'm all in for a modernized Space Cadet (with cursor keys, please). I'd buy two, at least.

<comment><USER3> Interested parties should sign up for news:

[https://spreadsheets.google.com/embeddedform?formkey=dDIzNUF...](https://spreadsheets.google.com/embeddedform?formkey=dDIzNUFnTFUxanNTb1I5dEJZem1DVVE6MQ)</comment></comment></comment></comment>


Is Macworld cloaking content with Google's OK? - <AUTHOR>

I found this page via a Google search:
http://hints.macworld.com/article.php?story=20050222062346277
The content that appeared in Google's search results is cloaked, and there's a message that says I need to answer a survey question, or share the page on a social site, to view the content.
The "Answer a Question to continue reading this page" widget has a "Powered by Google" stamp on it.
Is Google allowing sites to have cloaked content if they use its widget? <comment><USER2> That seems to be the case to me. Quoting Google: "Users complete survey questions in order to access high quality content around the web, and publishers get paid as their users answer." I never noticed that they were "powered by google". That is very disappointing and somewhat evil-like. A nice double standard at the very least.

[https://www.google.com/insights/consumersurveys/home](https://www.google.com/insights/consumersurveys/home)

</comment><comment><USER3> Wow, disappointing. I'd love to hear how this helps searchers.

</comment><comment><USER4> That is obnoxious.</comment>


Validity Acquires Return Path, the Leader in Email Deliverability - <AUTHOR> https://www.validity.com/blog/validity-return-path-announcement/ <comment><USER2> >Today is a very big day – both for Validity – and for leading brands that rely on email as a mission critical platform for engaging with customers.

Remember when email was ''dark social''?

>What we particularly love about the work that Return Path has been doing for the last 20 years is the trust they've established with the leading Internet and Email Service Providers around the globe, and for the thousands of customers who have embraced Return Path as a must-have solution for digital marketing success.

So, what, malicious email filters are a feature now, because businesses can negotiate their way around them and then sell access?

>When we talk with sales and marketing professionals evaluating our solutions, we hear time and time again a desire for higher fidelity interaction with customers. They are seeking a greater trust that the effort they're making will result in an effective digital marketing campaign.

That means tracking.

>From there, customers can use Return Path to gain rich analytics that make their digital campaigns run flawlessly. What was the placement of that email within the recipient's mailbox and did the recipient interact with it? If so, how? And how does that interaction, compared to other competitive campaigns, help our customers gain actionable intelligence? The sky's the limit.

How the Hell are they collecting this information? Does this company have agreements with these major providers that permit them to accumulate this? What do they do when someone uses the real email protocols to collect their mailbox and then view it in a dedicated reader?</comment>


Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server - <AUTHOR> http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html

<comment><USER2> What's interesting about this article now, is the feature is (more or less) going mainline in MySQL 5.6, except the API will be the standard memcached protocol and not the handler socket API in the linked article.

See: [http://dev.mysql.com/tech-resources/articles/nosql-to- mysql-...](http://dev.mysql.com/tech-resources/articles/nosql-to-mysql-with- memcached.html)

<comment><USER3> I'm not surprised they went with memcached since PHP and most other languages have the client code written.

<comment><USER2> Yes, I agree 100%.

There is a downside however. memcached is very much for hash-structures (point lookups only). InnoDB is a B+tree, so it can do ranged reads as well.

</comment></comment></comment><comment><USER4> This is awesome. I assume it could be applied to the most frequent queries run by common MySQL apps like WordPress to support much increased load, whilst not being forced to employ memcached.

</comment><comment><USER3> I've had good luck using MySQL as the data source of record (setup in a NoSQL style InnoDB table) and then having a Membase cluster which supports replication between different servers. I will probably start using the MySQL/memcache features to play around with them but I don't really see a compelling reason to do so considering that I probably execute less than 10 queries a day against the MySQL version of our caches. I use deflate to decrease the size of my caches so they only really use maybe 2 GB of memory.

</comment><comment><USER5> Duplicate of <http://news.ycombinator.com/item?id=1886137> from October 2010.

Edit: submissions have identical URLs. Is there something wrong with HN's de- duping system?

<comment><USER6> i like hn's method of detecting duplicate urls, in that it will allow a reposted URL after some months. content at old URLs can change, discussion can be different given recent information, and new users can see things they may have missed before.

it would be nice to automatically see links to previous discussions for a link before submitting (for the submitter) and after submitting (for users), but there are probably more important features in news.arc to (never) get implemented.

</comment></comment><comment><USER7> I don't like how this article frames MySQL vs. NoSQL as the important battle. There _are_ other SQL databases besides MySQL, and there's lots of variation in the various NoSQL offerings.

<comment><USER8> I'm going to agree with you and take it a step further: MySQL vs NoSQL shouldn't even BE a battle. Pick whatever technology or software is right for your application. If you're choosing sides on any other basis, you're losing.

<comment><USER9> The problem is that there's no agreement on which applications suit one or the other technology better. NoSQL proponents act like most startups should just use NoSQL by default and the SQL guys say the exact opposite. So who really knows which technology is right for your application?</comment></comment></comment>


Startup Quote: Aza Raskin, co-founder, Massive Health - <AUTHOR> http://startupquote.com/post/2610564210

<comment><AUTHOR> You can never let your data dictate design. If you do, you end up following what people currently do and never innovating.

\- Aza Raskin (@azaaza)

<http://startupquote.com/post/2610564210></comment>


Microformat standard for web analytics - <AUTHOR> https://jshub.org/hPage/

<comment><USER2> This is one of the more misguided ideas I've seen in a while, if I understand it correctly. The authors seem to expect that web analytics packages are integrated primarily by javascript snippets, which certainly has some truth to it (i.e. Google Analytics, Omniture, etc.). The problem is, though, that as we look for more analytical data, we end up tossing more and more crap into our web pages and hoping that it can be parsed out and send to some remote analytics service in time before the user does something to leave the page.

But maybe I'm jumping the gun here and am missing the point. Perhaps one of the authors can explain the use cases that they have in mind?

<comment><AUTHOR> The overall idea is that currently there are multiple pieces of JavaScript being used to gather data on web site usage for a variety of reasons (could be web analytics, could be targetting, could be testing). This is wasteful (in terms of page weight) and error prone (n different pieces of code gather the same data and then you end up with a mess of trying to correlate between different products).

The obvious solution is a single piece of JavaScript capable of gathering for all products and then sending common data to each of them. That leads you to define common data, hence this standard.

</comment></comment><comment><USER3> Is this in use anywhere?</comment>


Offline Web App vs. Online Desktop App - <AUTHOR> http://www.readwriteweb.com/archives/offline_webapps_online_desktop_counterpoint.php <comment><USER2> I must comment that the conclusion they arrive at is very interesting: that web-based apps work better for individuals (and also, I presume, small groups), while desktop apps work better for businesses, because a big part of people's justification for web applications is large-scale collaboration.

In the article, however, John Milan makes it seem like it's impossible to integrate a web app with a business infrastructure. I don't think that this is a necessary property of web applications. The problem is that most web applications now are ad-based, and they want their consumers' only access point to be through their website, where they can get revenue. If that model is changed, it would not be overly complicated to create an API to your application which would allow integration with other applications in some way. If I can use sshfs to make a remote filesystem look exactly like a local one, surely it's possible to write hooks into your web app to integrate it with other desktop software.

<comment><USER3> look no further than gmail for domains.</comment></comment>


AMD's Answer to GameWorks: Open Source Tools, Graphics FX, Libraries and SDKs - <AUTHOR> http://wccftech.com/amds-answer-to-nvidias-gameworks-gpuopen-announced-open-source-tools-graphics-effects-and-libraries/ <comment><USER2> Thats exactly why i buy AMD cards over Nvidia again and again. Who cares about super fancy graphics and yet another, 2% faster shader. Want i want is properly supported Hardware with working Open Source drivers from a company that has interest in its users hacking their own solutions, even when they get better than their properitary ones.

<comment><USER3> How does the current AMD driver fare in linux land?

Two years ago I was working on a large GL project, and basically the only workable drivers were either intel, or nvidia. With nvidia being _far_ better off pretty much anything, from driver quality to debugging tools.

I'm using an HD4400 on my primary laptop, mostly to have a low-end system for performance tuning. While everybody says that intel should be one of the best supported OSS drivers (if not the only), the i915 driver constantly breaks with a million of little issues which are fixed in one release of the driver and broken again on the next. In the end, all these issues pop up in the wild, where I cannot even restrict users to a single driver version (because many times issues are chipset-specific).

Despite whatever I read here, over and over again, the nvidia driver has always been rock-solid for me, with intel being at least on par, and AMD being not even remotely comparable.

I had generally harder times with intel even, due to unpredictable gpu stalls. Even when it comes to power management, the latest i915 driver fails to come back from suspend.

I really want to switch to something _higher quality_ and OSS, so I'm hoping AMD steps up the game.

I do not need another half-assed driver like i915.

<comment><USER4> The first and last time I bought an ATI card was in 2003. In the 12 years since then, the drivers have become a little bit more stable and support the newer OpenGL interfaces. They continue to be light years behind nVidia.

<comment><USER2> IMHO thats not true anymore. Given i use my GPU for casual mining, generating Hashes on mass and therelike and not gaming. You may can say Nvidia is worlds better in Gaming, but far behind in these specific points.

<comment><USER3> Here's a newsflash: nobody, except miners, care about how fast can you hash with a graphic card. I do not buy a card for hashing. The fact that I can run some fixed opencl safely still doesn't say anything about driver quality.

</comment></comment></comment></comment></comment><comment><USER5> Sometimes, the free market does something that really impresses me. This is one of those times. Here we have AMD releasing open source tools in an attempt to beat a competitor whose hardware is technically superior. Sure, this seems like a desparate measure from a company that's lost its way and will try anything to make a buck. And it's probably motivated by a desire to generate lock-in for their hardware. But that's capitalism!

<comment><USER6>
        > And it's probably motivated by a desire to generate lock-in for their hardware.

I don't see how MIT licensed code can generate lock-in for AMD hardware. Would you care to elaborate?

<comment><USER5> Perhaps I'm misreading it, but the announcement seemed to imply that the source code, however open, is for AMD hardware. So by open-sourcing it, they attempt to generate lock-in to the hardware, which is still just as proprietary as can be. In other words, I don't think that these tools will work on your NVidia GPU. Or not well, at any rate.

<comment><USER6> Yeah you misreading it because on slides there is few different things and some of them was already announced in past:

* Open source game and rendering middleware, tools and most of it is for Direct3D11/12, but some things is OpenCL / OpenGL. None of it can be AMD-only because it's all based around standard APIs. Techs that Nvidia provide with GameWorks only support hardware acceleration on top of CUDA which is proprietary.

* HSA-related stuff include compiler from CUDA. I'm not expert in this area, but HSA is also not just AMD-only thing and there is several companies backing it.

* Linux graphics stack. It's of course AMD-only, but AMD announced that they'll open source their OpenCL and Vulkan implementation so other vendors may benefit of it.

So no. They don't release things that can only be used with AMD GPUs or anything like that. What more important anyone can take MIT licensed code and turn it into the proprietary product, etc.

<comment><USER7> but most of the stuff people complain about in gameworks is multiplatform in the same way - especially hairworks

<comment><USER6> Main issue with that part of Nvidia middleware is proprietary license so no one can publicly share improvements for other vendors GPUs.

Also as far as I understand the default licensing option for most of Nvidia middleware don't contain source code at all.

</comment></comment></comment></comment></comment></comment><comment><USER8> AMD also released FreeSync, an open alternative to Gsync, a dynamic refresh- rate interface for monitors. The Nvidia version requires nvidia hardware and licensing and adds significant cost to the monitor, whereas freesync can be implemented in the control boards that already exist for the monitors, and without cost.

I think they're both great graphics cards, but NVidia tries its best to stifle competition.

<comment><USER9> NV lost their bet on Gsync, it's just not apparant yet. Intel announced they're adopting the tech behind Freesync for their own IGPs. Gsync won't hold up against Intel Kabylake's IGP + AMDs APUs and GPUs.

If the trend continues of Intel adopting AMD's open standard / libre alternatives to NV's tech, I'm not sure how NV can seriously stand against AMD + Intel using the same solutions. Intel IGPs are only going to get better and better and be more relevant over time, Broadwell Iris Pro was already impressive and Kabylake intends to take that to the next level.

</comment></comment><comment><USER10> AMD is very badly mismanaged. Ever since K8 engineering is again perceived as a source of cost. They lost $400mil on failed ARM servers idea without blinking an eye, but plain refuse to fund proper software support for their products because that would cost like 30-40 engineer salaries! :(.

AMD is Commodore of this decade.

</comment><comment><USER11> I'm all for AMD going open source with these tools (I love the fact they're doing this) but the reason that developers go with GameWorks in the first place is because Nvidia is able to allocate staff/resources to the game studios to assist in implementing.

<comment><USER6> Considering how bad GameWorks features perform in many PC games (e.g in some Ubisoft titles Nvidia-only features was dropped after release within first patches) this strategy doesn't work.

Though I only heard good things about Nvidia OpenGL developers support and as far as I know they do support even devs who isn't part of "Meant to be Played" thingy. So I suppose many studios that don't even use Nvidia-only features prefer their middleware because of support.

Sadly AMD is opposite and developers support for OpenGL just not exist. E.g you can send them emails, tickets and there won't be answer for months.

</comment></comment><comment><USER12> Last time I checked AMD was losing something like $200MM a quarter with around $750MM cash on hand. So they could be out of money in a year.

NVIDIA isn't exactly losing this race ... why not just lock yourself in to GameWorks?

<comment><USER13> So it is time to buy new CPU and GPU?

<comment><USER14> AMD's finances have been miserable for ten years, and they always managed to find new investors.

<comment><USER15> It's kinda weird, actually. I mean, AMD often has really interesting ideas that may be easy to sell, but execution is always bad and the brand is damaged.

<comment><USER16> AMD's execution being bad has been provably Intel's fault at times; Intel has been proven to use anti-competetive contracts in the past with their customers (HP, Dell, etc), i.e. limit good CPU prices/discounts unless customers limit their use of AMD.

<comment><USER14> That was ten years ago. Ever since, AMD had a free playing field… not that it helped.

<comment><USER17> There was a little while when AMD had the advantage, wasn't there? Putting out 64-bit and dual-cores while Intel was struggling with the Pentium 4 architecture.

<comment><USER16> That is what lead to Intel's behaviour; in doing so they limited AMD free cash flow, and in turn limited AMD ability to fund newer die shrinks. And Intel's main advantage over AMD at the moment is the fact that it is one die shrink generation ahead.

<comment><USER14> The Intel antitrust lawsuit was on Intel's behaviour in the 90s – it just took until 2005 to finally reach US courts (it was filed with the EC in 2000). By the time AMD had competitive CPUs, Intel had already stopped their practices to avoid further scrutiny.

AMD just stopped being competitive too quickly to gain a proper foothold.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> AMD has consistently impressed me with stuff like this, definitely going AMD this time when it's time to upgrade the ol' GPU. Nvidia be damned.

</comment><comment><USER19> They better get into deep learning territory quicker!

</comment><comment><USER20> Looks like another attempt at grabbing a share from NVidia's CUDA ecosystem... Not gonna happen.</comment>


Julia Studi – An IDE for Julia - <AUTHOR> http://www.i-programmer.info/news/90-tools/6894-julia-studio-an-ide-for-julia.html

<comment><USER2> The article names Forio as the author of Julia Studio.

[http://forio.com/labs/julia-studio/](http://forio.com/labs/julia-studio/) shows this message:

"Forio has discontinued development & support for Julia Studio."

It still looks like the github project is still up: [https://github.com/forio/julia-studio](https://github.com/forio/julia-studio)

Forio points to: [https://github.com/one-more-minute/Juno- LT](https://github.com/one-more-minute/Juno-LT) for a Julia IDE based on LightTable.

I have used none of these environments...</comment>


Ask HN: What are the features you want in Hacker News? - <AUTHOR> I'm planning to build a subscription service for Hacker News notification. And I wanted to know besides notification service what else I can build in top of Hacker News API.<p>Suggestions welcome. <comment><USER2> While you're welcome to add whatever features you want to an external tool, for me the biggest appeal to Hacker News is that it has almost no features. I come here because it's simple, clean, and distraction-free. I don't want any new features. I suspect much of the HN audience is here for the same reason.

<comment><AUTHOR> Yes I also don't want any feature inside hacker news but i check hacker news few times a day and some days I don't.

What I planning now is some kinda trigger like google alerts. It should be so simple and can able to send notifications to my mobile or twitter dm or anywhere.

I want to track some one mentioned my name on hacker news or wanted to track Website mentioned and the list goes on.

I know similar service already available hacker news watcher and ifttt... So I wanted to make something different this time but not sure what that is ha ha. I will do some research if I get free time.

Thanks for your support</comment></comment>


Senators want FTC probe into AMZN server security [pdf] - <AUTHOR> https://www.wyden.senate.gov/imo/media/doc/102419%20Wyden%20Warren%20Letter%20to%20FTC%20RE%20Amazon%20Capital%20One%20Hack.pdf <comment><USER2> This seems ridiculous. Wasn't the issue a misconfiguration of the Capital One webapp, and not a problem with the cloud?

<comment><AUTHOR> Definitely - requiring a an extra header to access instance metadata on 169.254.169.254 does makes it harder for this kind of thing to happen, and is indeed what GCP does, but would obviously be a breaking change. Probably not merited by one customer with a misconfigured firewall.

Calling AWS "defective cloud computing services" seems technologically inept, to be generous...</comment></comment>


dotnetConf March 2015 - Live now (Official ASP.Net virtual conference) - <AUTHOR> http://channel9.msdn.com/

<comment><AUTHOR> It's day 2... So you can view previous recordings on the site (scroll lower) and if you want to have a good idea.. In 2 hours there's a conference of Asp.Net 5 with Yeoman ( ASP.NET 5 Project Scaffolding with Yeoman ) on 10 PM UTC - which will probably be interesting about the integration of Asp.Net with opensource tools.

If you don't know how Asp.net has evolved... Its time to realize that Microsoft is catching up with the Open Source community :-)

PS. I'm wondering if Channel9 can survive a HN hug :p</comment>


Ask HN: Node.js question from a non-technical person - <AUTHOR>

I know some people may take issue with my question, but I find it necessary to ask anyway: As a non-technical entrepreneur, how could I best audit my web app to see if a transition from RoR to Node.js makes sense? My web app currently is programmed in RoR and many of the benefits that I have heard about Node/js would be greatly beneficial for the purposes of my site. The web app uses multiple APIs (including Fb, Twitter, and other non-social sites) and needs to analyze and present data quickly for a user. With RoR, I find lag in loading which greatly affects the UX of my site. What is the best process that I could take to determine if a transition to Node is in the best interest of my app's performance? Thanks in advance for any suggestions! <comment><USER2> It doesn't make sense. You can solve performance problems without rewriting the whole thing.

</comment><comment><USER3> Profile your existing app and find out what is making it slow.

When you fully understand how your existing app performs (and why it performs) you may start making informed decisions.

Profiling is a highly technical art that is beyond even most competent programmers. You need a good systems engineer who is proficient with the tools used to examine application performance on your system, and understands the different technology stacks involved (networking, disk I/O, cpu/threading/scheduling, virtual memory etc.). If you can reproduce the problem, they should be able to pinpoint the cause.

Also, you may want to read up on Node.js and understand what benefits it brings to the table - it is not a silver bullet that solves all Web application problems.

<comment><AUTHOR> Great advice squiggly101. Thanks for the solid and honest feedback.</comment></comment>


Ubershaders: A Ridiculous Solution to an Impossible Problem - <AUTHOR> https://de.dolphin-emu.org/blog/2017/07/30/ubershaders/ <comment><USER2> Earlier discussion: [https://news.ycombinator.com/item?id=14884992](https://news.ycombinator.com/item?id=14884992)</comment>


Ask HN: Help me convince a teacher we should learn Python (vs VB.net) - <AUTHOR>

For a high school class.<p>He's a great teacher (from what I hear, and my conversations with him), though the current plan is to use VB.net, while me and a few others would much prefer Python. Key requirements/comparison points for him are that it should be easy to learn (17 year olds new to programming), and for me, I'd like to learn it as with LPTHW we can go along ahead of the class. <comment><USER2> It's a bad sign that most of these comments (about 20, as I'm typing this) are trying to talk this kid out of his enthusiasm for Python in defense of -- heaven help us -- VB.Net. Come on, people. If we can't do better than that on Hacker fricking News, perhaps the doomsayers are right after all and this neighborhood is done.

Hold on, newsisan, there are thousands of Python hackers here. Let's see if any cavalry ride to your rescue.

I'm not a Python guy so this will be weak, but I'll do my bit.

1\. Community. Python is far more widespread in the web, open source, and scientific communities. It will be much easier to find interesting projects to play with and libraries to build on.

2\. Simplicity. Contrary to what your teacher may have heard, Python is an excellent beginner language. VB.Net is actually way more complicated. It's Microsoft propaganda that positions VB.Net as the best language for beginners. (Edit: it seems nearly everyone here disagrees with this. Am I crazy? Let's hear from some Python people.)

3\. Quality. Python is far more organized around clean programming constructs and practices than VB.Net, which is an arbitrary mess.

4\. Openness. Python gives all the advantages of an open codebase and platform. I suppose I should list some, but I'm tired.

5\. The REPL (<http://en.wikipedia.org/wiki/Read-eval-print_loop>) is hands- down the best technique for playing with programming concepts, trying out ideas and getting feedback, learning, and coming up with the building blocks for programs. Once you've gotten comfortable with the REPL you'll never want to live without it again. No one should learn programming without this invaluable resource, which Python has and VB.Net does not.

5\. Cool. VB.Net is the ultimate in uncool. Python holds its own just fine. Frivolous? Yeah, but there are deep reasons for these things. Learn Python so the other programmers won't smell VB on you and peck you to death.

Good luck!

p.s. A simple additional principle you should know: never try to talk a programmer out of their favorite language. It can't be done. If your teacher is deeply attached to VB.Net, just go with what he wants and enjoy the positive aspects of the class (if he's a great teacher, that's the most important thing anyway and you're lucky to have him). If he doesn't care that much, though, maybe you can wear him down with your enthusiasm. :)

pp.s. Worst case scenario, write all the programs in Python and then rewrite them in VB.Net to hand in. You'll have more fun and learn more.

<comment><USER3> Community is surely the big win for Python. If you manage to get a 17 year old interested in programming, then where better to take the next step than start hacking on some open source projects written in Python?

Where does a 17-year old go next with VB.net?

<comment><USER4> You'd throw a 17 year old with 40 hours worth of 'introduction to programming with Python' into hacking on Django or Scons? Good luck with that.

(not that I know of any open source projects in VB.net, but still)

<comment><USER3> No, but if a 17 year old chooses to start looking at the source code to work out whats going on, then I think that would be great.

</comment></comment></comment></comment><comment><USER5> To be honest I think VB.Net is a decent choice for a high school level course. It's an approachable modern language backed by a huge framework with easy access to web, Windows and console programming. The IDE is free and relatively user friendly for someone familiar with Windows, which is much more likely than anything else.

Don't underestimate VB.Net. It has a terrible history but most of that ended with VB6. Another bonus is that once you know VB.Net the jump to C# is trivial and now you know 2 in demand languages. You can also compile the same code into a program along side F#, IronRuby and yes, IronPython.

You aren't there to learn syntax, you are there to learn to program. You should absolutely learn Python on your own as well, knowing one will make the other much easier to pick up anyway. Once you've done that go and learn Scheme, or Ruby, or Scala, ir preferably all of the above.

<comment><USER6> I don't mean this as flamebait at all.. Really. I very much respect the .NET platform... but honestly, something really bothers me about the idea of teaching a proprietary language & platform in public schools when there are sooo many amazing open source options available..

<comment><USER5> Fair comment and I kind of agree in spirit. Java hasn't really been living the dream lately though.

At my high school we were taught to use Word and Excel because those were considered essential skills. We could have learnt Open Office or something else but really, how often are we going to encounter that in the real world? In terms of practical use, .Net is not a bad choice.

Personally I would like to see Python for getting started and practical use and maybe Scheme for going deeper.

<comment><USER6> _We could have learnt Open Office or something else but really, how often are we going to encounter that in the real world? In terms of practical use, .Net is not a bad choice_

I'd say let's take practical-business-relevance out of it (even though I'd argue the relevance of Java, Python, and Ruby to be plenty comparable to .NET).

We're talking about high school students, not trade-school students. I think the curriculum ought to be about opening their eyes to this really incredible world of solving problems with computers and logic. I also think a bit part of the key to that is to make sure we don't saddle them with skills that can't afford to develop. You know how bummed I was after taking AutoCad or using Photoshop in high school only to find out that I'd have to mow lawns until I was thirty to afford to use them at home? That's just stupid, and spirit- breaking for interested kids that don't have 800$ (or whatever) for Visual- Studio-Enterprise-Resume-Edition.

<comment><USER5> That's why it's nice that everything you need is free including web, Windows and even SQL. <http://www.microsoft.com/express/>

I think the best argument here is regard students running Macs at home which I have no reasonable counter to.

</comment></comment></comment></comment></comment><comment><USER7> Why?

1) Your teacher cannot learn a new language well enough to teach a bunch of high school students in time. Have some consideration for him.

2) Your goal when starting to learn programming is not to learn the syntax of any one language, it's to learn to solve problems using programming. \- Learn about P-code ( or psuedo code ) \- Learn about Simple Data Structures. \- Learn about conditional( if-then-else ) constructs \- Learn about iterative( for-while ) constructs, \- Learn how to declare variables and initialize them; \- Learn how to edit-debug-run code \- Learn how to version-control code (any file in general) \- Learn how to write functions/methods/sub-routines. \- Learn how to comment your code for future debugging

These are fundamentally the same in almost all modern programming languages. The syntax changes from one to another is mostly cosmetic. The key is good coding and problem solving habits and attitudes.

3) It's easy to spend time on the internet and be anamored about a particular language, particular OS, particular editor etc - but in the long run, they are commodities; there's no great big differences between them

4) If you really want to work in python, do so. Finish your problems in VB.NET and re-write it in python. Just don't impose your preferences on your teacher and entire class. It would detract from the goal of the class.

<comment><USER8> I completely agree on all counts.

On top of that, VB.NET makes it almost trivial to transition to C#, which is a hugely important language right now.

VB.NET can also give you a hint of mix-ins (through interfaces and extension methods) and functional programming. Not saying you'll get there in the class, but it's out there. The .NET platform gives you a taste of almost every programming paradigm out there. It's very versatile.

If you want to go through LPTHW, nothing is stopping you. In fact, you don't even have to wait for the class to begin. Just start.

</comment></comment><comment><USER4> I went to a school where OO was taught with Smalltalk (late 1990's). The pressure had been on the school for a few years to switch to Java, because that was the language of the future, and Smalltalk wasn't used in the industry anyway, and why were they sticking with such an old-fashioned language, and were the teachers too stupid to learn anything new.

So in the end they caved, and I was in the first class that was taught the Java curriculum. The teachers had spend the larger part of their summer at Java courses and writing a syllabus. The result was a bunch of people who barely knew the language they were teaching, causing most of the time in class to be lost to mundane details like working with the JDK and API issues. (I remember asking how to execute an external program and nobody being able to tell me).

YMMV etc., but my advice: please let the teacher decide for himself what he feels most comfortable teaching and focus on programming fundamentals rather than complain about not being able to use a tool that is hip and cool in some circles. (read the 'the scene will kill you' article that was on here a few days ago, it holds for not only 'the startup scene' but also for pretty much all niche programming scenes, forum scenes like slashdot, reddit, HN; actually it holds for pretty much every scene in the world).

</comment><comment><USER9> It might also depend on how well he knows VB.net... learning that from someone who knows it _well_ would be better than learning python from someone who's just picked it up to teach a class...

</comment><comment><USER10> You and the others should just get together and learn Python. No need to have a dependency on your HS class.

<comment><USER11> Exactly. It's not like you can only learn one language in your life, learning them both will give you a different outlook.

<comment><USER12> To the OP, if you want a career in coding, get used to learning.

This year I've got node.js, rails 3, html 5, mongo db down pat, all in my own time. Its a fair bet that 90% of HN readers have done the same amount and way more.

Languages and frameworks are not important. Communication, problem solving and productivity skills are important.

Plus, learning more stuff = more fun.

</comment></comment></comment><comment><USER13> MIT teaches it as its intro now...

<http://news.ycombinator.com/item?id=602307>

and Norvig uses it...

<http://www.norvig.com/python-lisp.html>

I mean what more endorsement is needed? How about something really eloquent...

<http://norvig.com/spell-correct.html>

<comment><USER14> (tl;dr: VB.NET can be every bit as expressive as Python. See my translation of Norvig)

Here's a line-by-line translation of Norvig's code into VB.NET. Exactly the same number of lines, unless you count the block terminators like `End Function` and `End If`.

[https://github.com/stevecooperorg/Norvig-Spelling- Corrector-...](https://github.com/stevecooperorg/Norvig-Spelling-Corrector-in- VB.NET/blob/master/NorvigSpellChecker.vb)

The translation was fairly straightforward; I'm not a regular VB.NET programmer but I cut and paste Norvig's code into Visual Studio and did some pretty trivial rewrites -- 'def train(features)' -> 'Function train(features)' -- and that got me most of the way there.

I translated idiomatic python (list comprehensions) into idiomatic .net (linq expressions) but the translated code is almost identical in structure and number of code points.

</comment></comment><comment><USER15> <http://www.stanford.edu/~pgbovine/python-teaching.htm> won me over, and I now use Python exclusively in my introductory programming class. I find we cover about 3 months more material than when we did C++.

But barrydahlberg has a valid point - VB.Net is a decent language for a first course. Originally we had an alternative first programming course that used VB.Net. A lot of kids liked it better just because it was so easy to make a graphical program. We used to get a lot of kids interested in programming just by having them play with the colors of their VB.Net programs.

</comment><comment><USER16> I would be making the same fuss in your position, however your teacher might not feel confident teaching a language he doesn't know, despite all the good talking points raised here. If he sticks with VB, I would ask him to spend some time later in the course making students aware that there are other languages, styles and platforms. Offer to help - write him a couple of pages on it, or pick a simple program from his course and translate it into Python/Ruby/C/Scheme/etc for him. Good luck.

Edit: To the person who disagrees with my advice, could you please let me know which part and why.

</comment><comment><USER17> Ok, here we go. I'm ready to eat downvotes for this:

What a bunch of bias and misconceptions in the comments. I can't believe all of these uneducated rants, like gruseom's are getting so many upvotes.

1\. The teacher knows VB.NET.

The main reason why the teacher might want to stick with VB.NET is because he _knows_ it. He probably doesn't know a lick about Python at all. He's going to have a hell of a time answering questions about a language he doesn't know and isn't prepared to teach.

2\. VB.NET != VB.

VB was syntax-massacred garbage. VB.NET is a pretty solid object-oriented language with a _completely different_ but similarly English-like syntax. It's like damning Windows 7 for crap we haven't seen since Windows 9x.

I personally prefer C#, but people have written pretty basic VB.NET->C# parsers. VB.NET code pretty much cleanly correlates to C# structure and compiles to identical MSIL bytecode.

3\. VB.NET teaches clean OO programming. Again, it's not the rat's nest than VB was at all. If you think C# is good OOP, then VB.NET is good OOP.

4\. VB.NET is, in my opinion, much more approachable and useful to the average person. It's more "englishy" and most people run Windows PCs. People can very easily write native applications for their environment. They can in Python, with GUI toolkits, but its not as integrated or easy.

42\. Ironically, I use Python and now avoid VB.NET work like the plague, but it's a solid option if you want to go that route. What's good for you and I ain't good for everyone. And _PLEASE_ make sure you know what you're talking about before you click _add comment_ on that masterful rant you just typed out.

You want a Python class? Suggest it to your school or teacher for next year. That will give them time to evaluate, and more importantly, prepare for the quest.

<comment><USER18> I think you make a great point there about the teacher already knowing VB.NET and not knowing Python. It may be the difference between being able to teach the concepts well and show code to match and struggling with translating the concepts to "working" code.

</comment></comment><comment><USER19> Don't worry about it. You may hate vb.net, you hopefully won't care all that much. Either way, if your teacher wants to teach it, there's a reason (probably he's familiar with it and not with python, or he's on the MS payroll). It doesn't matter to you.

You sound like you want to learn about programming. "Programming" is a different discipline than "programming in vb.net" or "programming in python" or "programming in lisp". Learning about programming is a multi-step process, in which you first learn to define a problem in a sensible way and create a set of instructions for solving it, then write it in a language a computer understands, and then learn how to figure out any one of a million other ways to write it for a computer to understand. The first and last steps are the most important and can take years, the middle one usually takes a semester or two at the most.

Let your teacher walk you and the rest of the class through the middle one with vb.net, then go home with your smarty-pants friends and start slogging away at the other two steps. Every time you get a programming assignment, do it in vb.net. Then do it in python. Then figure out what they have in common and where they are different. Explain it to your friends, and listen to their explanations. Then do it again in all the other languages you can find.

</comment><comment><USER20> As most of them here are suggesting... learning "programming" should be the real motive. Any language your teacher is excited about should be just fine. In fact I would suggest that even things like Scratch(<http://scratch.mit.edu>) can be an awesome step towards learning programming without being bogged down by syntax. You can even write Android apps using <http://appinventor.googlelabs.com/about/>

Ultimately you will have to learn syntax though but it won't be a big deal. If you want to know what the current "fashion" is, you can check out [http://www.tiobe.com/index.php/content/paperinfo/tpci/index....](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) In that list u can see python cross vb...

but when it comes to the big picture and long term, all that matters is if you can pick up a new language in a few days.

</comment><comment><USER21> You won't like the answer but don't convince, VB.NET is much easier to learn your younger crowd, .NET has more job opportunities and switching to F#, C# from VB.NET is much easier.

</comment><comment><USER22> VB (5.5, not .NET) was my first language. I took it in high school as well, when I was 16 (4 years ago) Contrary to Dijkstra's claims, it won't kill your brain or make it impossible to learn any other language.

And honestly? VB is great for beginners. Button.OnClick? That's dead simple to use. Even non-programmers will pick it up. It let's your teacher focus on the fundamentals; "what _is_ an if statement?" or on a simpler level, what is a variable and how do you use them?" and so on.

Keep in mind: this is a high school class. You and your friends may care about it, but the other 20 people in the class probably don't. And you can't realistically expect your teacher to change the syllabus mid-year for you.

</comment><comment><USER23> What's the course's angle? If it's an intro course like it sounds, you're probably going to have a hard time. Like it or not, an intro course is for teaching basics that are shared across all languages, with an added goal of inspiring students to want to learn more.

My high school programming course started with "Karel the Robot." (<http://karel.sourceforge.net/>). It's not even a "real" programming language, but it worked quite well to teach the basics of state, control flow, functions, etc. My "Aha!" moment was shortly after that when I pointed and clicked my way to a not-horrible PacMan game in VB.NET.

Then I was sold. I'd made something fun that I could put on a floppy and show off to my friends; All without knowing the first thing about pixels, graphics contexts, layouts, or (heaven forbid) html and css. I just had a timer, some images, and a big switch statement for keyboard input.

If your teacher is trying to ignite his students' interest in the same way mine was, you're going to need to convince him that accomplishing the same thing is as easily done in python. From what I've seen it's not -- UI libraries are hard. (His choice of VB.NET almost certainly implies there will be some simple WinForms drag and drop UI work happening)

I guess what I'm trying to say is that while python is a great language, it may not be the best tool for this job. I can't tell without seeing his lesson plan, but based on my experience learning to program, python wouldn't have left me feeling as empowered (at the start).

Intro to programming isn't about languages, it's about showing people that they can make the computer do their bidding, so that they can work less and/or have more fun.

</comment><comment><USER24> There are quite a few things you need to learn to be able to program well. One of the easy ones is syntax, which is what you have to learn to go from one language to another, in addition to the names of variables/functions.

What is much harder to learn, and is largely language independent is: 1) Problem solving - the ability to break problems down into simple task that then can be trivially solved. 2) Data structures - programs are unless unless they have data to work with. Knowing how to best represent it is vital, do you use an array, linked list, tree etc. 3) Algorithms - known ways of operating on data to produce some out come. Everything from using a loop to add numbers, to sorting lists, or adding a node to a red-black tree. 4) Design Patterns - know ways to structure code, in a tried and tested fashion. 5) Architecture and Interface design - how to structure your project as a whole (what goes where) and how to set how one portion interacts with all the others.

Along with many other things. Point being the first language you learn matters little, if you learn to program that cross any language barrier. I have not touched the first language I learned for almost a year, but have learned 2 others in that time.

Having said all that, I am most at home in Python because there I know many of the language specific features.

</comment><comment><USER25> I don't think Python is a good idea for a high-school class (where a big bunch of the people don't really care about programming anyways). Hell anyone that already knows a bit of programming will be completely thrown off his chair by the whitespace constraints, while new ones will probably have an awful time trying to debug anything.

Python is a great language and it certainly is 'easy' in contrast to a bunch of other languages, BUT a high-school class is to learn to program in general, and Python doesn't strike me as a good language to learn to do so from scratch.

Ruby is a bit better, but I'd argue the same thing. VB.net really is a better suited language to learn to program, and although I don't really like it myself, I agree with everyone saying it's a great language to start with. You can always learn Python on your own time, and I'd even argue that with what you'll cover in a high-school class, it really doesn't even matter since you'll be ahead of the whole class (not the people, the curricula) in a month if you learn Python on your own.

<comment><USER18> I'd argue that Ruby is a bit harder to learn, specially for someone with no background in programming.

While Python tends towards clarity and predictability, Ruby tends more toward conciseness and power. That means some things are not as straightforward to figure out.

<comment><USER26> Ruby's syntax is also far more opaque at first glance than Python's is. Ruby in my experience isn't any more concise than Python, and often falls into the same trap as Perl of having "more than one way to do it"

<comment><USER25> I never said otherwise. I meant both are 'easy' languages, and though I'd fathom beginners being more comfortable with Ruby (because it has a more forgiving syntax IMO) I still think they're not languages you should begin programming with. We might disagree on which language from the bad languages to start with is better, but that doesn't mean they're any good to learn to program anyways!

I started with C when I was 12 years old, and I'm sure that has made me a much better programmer than I could have been had I started with something easier like Php. In that aspect I think VB.net (which is NOT the same as VB6) is a good language for high-school kids to start with and learn the ropes.

<comment><USER26> and I started with Java at 11. What you learn on is irrelevant as long as the basic concepts are taught well. Neither Python nor Ruby are ideal for teaching pointers, but for explaining assignment, boolean logic, basic control flow, etc the only better candidate I can think of is Scheme, and VB is far down the list of replacements.

I'm also a bit confused about your statement about Ruby having a more forgiving syntax and taking that in a positive light. For an Intro to Programming course rigid syntax is ideal as it helps to avoid atrocities against whitespace and other crimes of legibility.

<comment><USER25> That's just not correct. What language you learn on does have an influence on what languages come easier to you as a second or third language. Also some languages make programming concepts and paradigms easier to learn than others. Any way, giving an introductory high-school class in Python, Ruby, or Lisp is IMO counter productive because of the whitespace requirement, the flexibility in syntax, and the amount of parenthesis on their respective languages.

I said two things:

1) I think Python is not a good language for high school because of it's syntax which is not directly translatable to the bulk of other programming languages (and I say the same thing about Lisp now that I'm on it). At this point I made a comment that I would find Ruby a little tiny bit better (but not suitable either) because of it's forgiving syntax, not because of the flexibility aspect of it's syntax (as omitting parenthesis and comas would probably lead to confusion). Python is not forgiving in it's whitespace requirements, while Ruby can make use of blocks and curly brackets in a way that translates better to other programming languages.

2) That I learned C at an early age and it had a big impact in the way I developed as a programmer, to which you responded that you learned Java a year earlier than I did C without making a point out of it. What is this a competition now to see who learned to program earlier?

What language you learned on makes no difference 5 years later, but it does have a big impact on the first, maybe second year. As such, it should be a language where the knowledge and workflow is easily transfered to other languages. VB.net (which I actually dislike anyways) is a pretty straightforward language from which you can move to a plethora of other languages easily. Neither Ruby or Python are suitable for this.

</comment></comment></comment></comment></comment></comment><comment><USER27> I came here to see a list of why Python is a good choice and instead the answers surprised me in a good way. Indeed it's not about the language - it's about programming. And although Python is a great language you should keep your options open and learn other tools as well. After you LPTHW - on your own - you'll have a perspective on both languages. You are not a "hammer carpenter".

</comment><comment><USER28> The Python in Education "special interest group" has a mailing list and a overview webpage <http://www.python.org/community/sigs/current/edu-sig/> which among other things includes links to books and resources targeting beginners.

</comment><comment><USER29> * VB.Net \+ Pros: Concise, MVC, easy to teach, useful macro maker. \- Cons: Costly microsoft royalties, single platform, imperative, single-framework, all-around slow.

* Python \+ Pros: Concise, extensible, object oriented, package/class/method hierarchy, multi-platform, lots of frame-works, lots of scientific contexts, HUGE community (at this point really), scripted (quick to see changes) \- Cons: Odd syntax (no more odd than VB really), scripted (teaching compilation step may be a requirement), requires C for high-performance fragments, v2 vs v3 package hangover.

I struggled to find real faults with Python, but I also struggled to find real positives with VB.Net.

From a pure $$$ play, you might be able to convince the administration to dump VB and go Python. Admitted, MS educational discounts are incredible.

</comment><comment><USER30> Disclaimer: I don't know VB.NET, I barely know VBScript,

I do think that Python would make an excellent intro language, given that there is relatively little syntactic cruft hiding the bones. (To be sure, it was not my first language, so this is speculation.) PythonWin is an excellent environment. wxPython makes it straightforward to put together GUIs if that's what you want to do. You can write to the Google App Engine and deploy to the web for $0.00.

The point that others raise, that it would be bad if the teacher is also learning an unfamiliar language, is a valid one. I don't think you want your instructor to be stuck fighting the language.

Have you considered as an alternative doing LPTHW on the side with your friends?

</comment><comment><USER31> It's school. Use what they tell you to use. When you get into the real world at a company, you will get told to do tons of stupid crap you wont want to do. And you can learn to do it, or find a different job. If you want to be able to do whatever you want, become good enough at something to be your own boss (or be good enough to have a great job at a great company). And for you to do that, learning how to program from your teacher is not going to help. Learn python on your own and learn VB.net from your teacher. If you don't have the motivation to do that, you'll be stuck in bad jobs doing shit you don't want to do anyway, and clearly school has yet to teach you that vital lesson.

Oh to be a teenager again.

</comment><comment><USER32> From the little I know about VB.net, it's much more approachable for people not cut out to program (ie non-engineer types) then any other mainstream language on the back-end.

Don't forget - the high school education system is set up so you learn what you have to in order to tick a box and pass your exams, the fact that something might be relevant/useful to your career is an accident.

From that perspective, the teacher probably just wants to teach lowest-common denominator easy programming to tick the box.

I agree with Ryanto - if you want to learn Python (or any other language) it's better to do it in your own time.

</comment><comment><USER33> VB isn't easy like basic was easy. It's not hard mind you, it's just not VB. VB.net is trying to be a basicish language that's good enough for enterprise development.

Python is used at many top colleges as the into course (Georgia Tech and MIT are ones I know off the top of my head) and additionally, Zed Shaw has written an excellent first text on the language downloadable for free (<http://learnpythonthehardway.org/index>)

Additionally: Nothing is stopping you from ALSO learning python at the same time.

</comment><comment><USER34> 1\. Python is Free (Free as in Freedom vs. free as in beer debate) 2\. Python teaches you the importance of whitespace 3\. Python forces clarity in your coding 4\. Python is blackboard-compatible, it's a great pseudo-language. 5\. Python has a great REPL 6\. Python is great for both scripting and OOP 7\. Real Hackers use it ;-)

Good luck! Just curious: do you guys have whiteboards or blackboards in class these days? Somehow teaching programming on a blackboard seems more appropriate & terminal-like to me.

</comment><comment><USER35> Well, both have enough documentation that you can learn them without the need for a formal curriculum, and both are certainly worth learning - the .net VM is among the best of its kinds. Since a lot of VB.net documentation is in the form of expensive books, while Python documentation can be had for free, convince your teacher to use VB.net, and use your school as a resource to pay for your books.

</comment><comment><USER36> The answer is "none of the above" for a high school CS class. The reason is that the computer science advanced placement exam is in Java. Until that changes (and until college-level CS stops using Java), you should be learning Java.

</comment><comment><USER37> Python is an awesome language, but in a HS class you probably won't get past simple scripting paradigms. If you guys were already CS students with solid programming experience as well as the theory behind it, or if you were just science students wanting to hack around, then python would be a great choice.

However, I think it would be more beneficial if you guys were to learn (sorry) Java and OO knowledge so that you could take the AP test and perhaps save time and money if you decide to move on to college.

Either way, VB.NET would be at the bottom of my list. C# would be great, but the professor might find the C-style coding too overwhelming for the students. And F#, being functional, is probably out of the question for a number of reasons.

<comment><USER5> VB.Net is far closer to C# or Java than VB6. It's like a real grown up OO language now.

<comment><USER37> Definitely. .NET is .NET and especially being imperative, VB is mostly just syntactic differences over C#. But neither of those languages are tested on the AP exam ;)

<comment><USER5> What is an AP exam? I'm from New Zealand so I'm guessing it's something we don't have.

<comment><USER5> Ah, thanks for the link. We don't have anything by that name but I did something equivalent that was specific to my university anyway.

</comment></comment></comment></comment></comment><comment><USER38> One thing that you guys are forgetting is that Python is completely portable while VB.net requires Mono at the least on non-Windows systems. In a learning environment I think this is more than trivial.

<comment><USER5> It depends if the learning environment is already all Windows or not. I don't hold much hope for a high school being anything but.

The other thing people are forgetting is that starting with VB.Net gives a nice predictable IDE which any student can replicate at home with a simple installer. Anything like python comes with so many options and opinions that it can actually be a distraction from learning to program.

<comment><USER38> Ah, but there's no guarantee that the students have Windows machines at home. I agree that replicating a development environment in one's own system is important -- which is why it's important to take into account households (like mine) where all the computers run OS X.

Windows is not as dominant as it once was.

</comment></comment></comment><comment><USER39> I think teacher should stick with VB.NET. Why? Because it enables students who like experimenting to get results quickly and this is extremely important if you want to get children enthusiastic about anything. Yes, python is free and open, and I bet many of the students who will become interested in programming will switch away from VB.NET anyway, but right now at this moment the ability to put a button on form with a mouse, doubleclick the button and write in a simple line to display messagebox of swearwords on click, is the most important factor of them all. And it looks like real, professional application window, I mean how cool is that?

</comment><comment><USER40> You could always write a vb.net interpreter in python :-)

</comment><comment><USER41> Show him the google trends for "vb.net".

<http://www.google.com/trends?q=vb.net>

</comment><comment><USER42> How about this?

<http://news.ycombinator.com/item?id=1885006>

:)

</comment><comment><USER43> Tell your teacher if he teaches Python, students will remember him, whereas a VB.net teacher is forgettable.

</comment><comment><USER44> Mmmm... overall I'd say don't try to talk him/her 'round. Don't get me wrong... I love Python and am ambivalent towards vb.NET. In defense of VB, it's good for teaching in the sense that students feel like they're accomplishing something... that they're actually building something. They can rattle out a gui and integrate it with the Windows API (for something like a Paint app) easily. Which is cool for them.

Having said that, I think Python is better for students (vb is so unlike other languages). However you're likely to piss your teacher off if you come off all 'hurr u r so stupit, you should teach Python' to him. Easy to piss ppl off that way.

</comment><comment><USER45> It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. \- Edsger Dijkstra

<comment><USER46> 1\. VB.net ain't your daddy's basic

2\. I respect Dijkstra, but I think he was wrong on this

<comment><USER47> It says a lot about our knowledge about teaching and learning programming that pithy quotes from 35 years ago are still regarded by many as being relevant.

I mean, has anyone actually studied the academic outcomes of programmers who started on BASIC or VB, versus those who started on other languages? Has anyone determined if programmers who start out in VB make more errors than programmers who started out in say, assembler, or C, or Python, to any statistically significant degree?</comment></comment></comment>


AsK HN: Why can't the US change to the metric system? - <AUTHOR> Every 3.14 years I have this question. I know that changing all highway signs would cost a lot of money and would take a long time. Well, had we started fifty years ago we would have been done by now.
When designing mechanical components or circuit boards (or looking at other's designs) one recurring thought is that our fractional unit system might actually cause inefficiencies and increased cost of goods.
You can look at an American design product and identify it as such by taking a few measurements.  Mechanical designers will think in fractional terms and specify "nice round numbers".
For example, a feature might be set to 1/16 of an inch, when, perhaps, a smaller thickness or length would have worked just fine.  In this case 1/16 is 0.0625 in, which happens to be 1.5875 mm.  Now, a designer working in SI units will probably specify 1.5 mm for the same feature.  This doesn't seem like much, but you are talking about 5.5% more material.  That's not a trivial amount if you are making a bunch of widgets.
We ship liquids in gallon containers.  A gallon is 3.8 liters.  If we worked with liters, might we buy and ship three liters instead?  Perhaps generating less waste?
This is a very simple example to illustrate one of   the mechanism that might be at play here.
Don't know.  Just a though in between coding sessions on a fine Saturday evening (Los Angeles). <comment><USER2> When I was in 4th grade (in 1979), growing up in the US, we learned about the metric system. My teacher said that we were learning it, because the US would soon be switching over to it.

I came home and told my mother what my teacher had said. And my mother responded, "Yes, that's what my teacher told me in 4th grade, also."

Fast forward more than 30 years, and the US is no closer, despite other countries (such as England and Canada) having pulled off smooth transitions. Aside from a few signs on a highway in Massachusetts (of course) that I saw 20 years ago, marked in km as well as miles, and 2-liter bottles of soda, the metric system has completely and utterly failed in the US.

I now live in Israel, where the metric system is standard. My children cannot believe that I once used a system that wasn't so simple and standardized. But because they're not _learning_ the metric system, but just using it, they never learned the beauty of its design, with powers of 10, and uniform prefixes. They just know how many cm tall they are, how much is in a 1 kg container of ice cream, and how many km it is to their grandparents' house.

It seems obvious to me that the metric system can and should be uniform, including in the US. But there is so much inertia, and so much history of opposing it, and so much technology tied up with the existing English system, that I don't realistically see it happening anytime soon, even if it could and should happen.

<comment><USER3> Hello fellow _oleh amerika'i_.

Funny thing is, there's one metric unit I truly don't like: temperature. Fahrenheit-scale temperature is just _better_ for describing the immense ranges of cold and heat you'll see inside the average year in a very temperate place like the United States or large parts of Europe. Only over here in a warm climate like Israel does Celsius make sense, where zero degrees is actually one of the coldest temperatures of winter and forty degrees the hottest temperature of summer.

For distances, I don't really consider Imperial _or_ Metric that much more useful. They're just slightly different.

<comment><USER4> Never in my life, which ranged from living in tropical jungles to snowy European cities, have I ever felt the desire for differences in measuring temperature.

Comparing F and C is one of the most obvious cases for metric, as I see it. 0 is freezing, 100 is boiling. It couldn't be clearer.

<comment><USER5> Ah, but what it it when it is -40?

<comment><USER5> P. S.: This is a trick question.

</comment></comment></comment></comment></comment><comment><USER6> There are many extremely valid arguments for why the US should change to the metric system, but I don't think that "maybe we'll round down and be more efficient" is one of them.

> We ship liquids in gallon containers. A gallon is 3.8 liters. If we worked > with liters, might we buy and ship three liters instead? Perhaps generating > less waste?

Might we buy and ship 4 liters instead? That's closer to 3.8. Anyway, if we rounded down to 3, what about those people who really need 3.8 liters? They'll buy two jugs, which is double the packaging, and if they don't need the extra 2.2 liters, it's a waste of the liquid.

Also, many things are sold by the pound. But a pound is ~0.45 kilograms. Surely by your reasoning people would round up to 0.5 kilograms, and thus be less efficient.

<comment><AUTHOR> I see your point and raise you 0.35mm.

In working on a design I specified 1/4 shafts. Why? Well, from the commonly- available range of sizes this is what met the specs.

Then I went to price manufacturing. No issues here in the 'States. My Chinese CM comes back to me and says I can save money if I go with a 6mm shaft rather than 6.35mm. The 6mm shaft is more common, weighs less and costs less per unit length. And so the entire design slowly changed to metric units and we saved both money and weight.

Of course, this is a loose and probably really flawed hypothesis with nothing but personal data points and random observations for support.

<comment><USER6> Your hypothesis is that all common measurements in imperial units round down when expressed in metric units, and that somehow by switching and rounding, "efficiency" will be gained, and therefore metric units are superior.

Please think about this for a moment. Really think about what you are saying. It's ridiculous.

<comment><USER7> Er, I'm not him, but I suspect the reason 6mm shafts were cheaper is because that's what the rest of the planet orders (not anything to do with rounding or whatever)... Rare or custom specs almost always increase the price.

<comment><USER6> robomartin is the OP -- read his original post and also the comment that I was replying to. It doesn't matter that in some circumstances rounding imperial units to the nearest-but-lower metric equivalent results in cheaper parts (perhaps due to better availability). What I'm saying is that it's absurd to use that as an argument for switching from imperial units to metric.

(Don't get me wrong, imperial units are completely backwards and horrible, and I would love for the US to switch. It's just that this particular argument for doing so is stupid.)

<comment><AUTHOR> Well, it's only absurd because my data points are easy to attack. I'm with you on that. It would be very interesting if a study looked at various efficiency metrics to compare the systems.

Like I said, I know my argument is weak and calling this idea nonsense at this stage is probably not without merit. At the same time I've seen this effect more times than I can remember in my career, which leads me to believe there might be a number of cases where it may very well be factually correct to assume that imperial is costing us money and creates more waste.

</comment></comment></comment></comment></comment></comment><comment><USER8> The US is on the metric system[0]. The people, however, are not. The children use the United States customary units, because their parents use it. The parents use it, because their parents used it. The companies use it, because the people use it.

I also happen to like the orderly ISO 216 paper sizes, but US people don't use that either.

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

<comment><USER9> Never mind the paper sizes, the really crazy US measurement is the paper density: <https://en.wikipedia.org/wiki/Paper_density>

tl;dr - most of the world uses grammage (g/m^2, ISO 536). The US uses pounds in a ream of paper in its uncut basis size. The basis size varies with the type of paper, and so does the ream size. It's a measurement that can only make sense to people who never take paper out of the box.

</comment></comment><comment><USER10> Perhaps the biggest thing non-metric people miss is easy conversions. A litre of water weighs one kilogram and occupies a 10cm cube. This makes it really easy to move amongst volume, weight and dimensions.

It is already the case that many goods sold in the US are labelled in both imperial and metric. The order can just be switched on labels. In theory the roads could be left using miles as has happened in the UK.

Clive Cussler used to have a preface in his books saying this: "Please forgive the inconvenience of converting measurements from what most Americans are used to. But in 1991 the United States finally became the last nation on earth to convert to the metric system."

He has long since given up.

<comment><USER11> >Perhaps the biggest thing non-metric people miss is easy conversions. A litre of water weighs one kilogram and occupies a 10cm cube. This makes it really easy to move amongst volume, weight and dimensions.

Indeed. And while that's very useful for scientists and engineers, it's not really useful for the average person. Most people don't do conversions often enough to justify switching their measuring system to metric, and if one doesn't care about doing conversions, the advantages of the metric system become much less clear. And the American government isn't going to switch the country to metric unless it provides clear advantages to most Americans.

<comment><USER10> I blew a friends mind when he mentioned wanting to have a rainwater tank that contained some number of gallons. I immediately said how much it would weigh and what the dimensions of the tank would be, and consequently how it would be too large for the area he intended.

It drives me nuts trying to follow recipes written by Americans as the measurement units are entirely random between weight and volumes. Sometimes it makes sense due to packing - eg flour is more accurate by weight than volume. But often the worst one is used.

<comment><USER12> Why not switch to a system that's based on actual physical constants instead of properties of a certain impure water mix ?

How about we start measuring distances relative to c, mass in GeV/c2, or maybe in multiples of electron masses, and so on and so forth. Sooner or later (probably much later, granted) we'll do this, so why not get ahead of the game ?

<comment><USER13> The meter _is_ defined in relation to c: <https://en.wikipedia.org/wiki/Meter#Speed_of_light>

<comment><USER12> Well, yes, but read that page. I mean a vaguely reasonable fraction, not 1/299792458 per second (plus if you're going to be pedantic, second still isn't defined in terms of c).

</comment></comment></comment></comment></comment></comment><comment><USER14> Gallons, inches and feet etc are fairly easy to handle. I've grown up in a completely metric country and yet I have fairly good intuition of most "imperial" units, mostly due spending time on the internet. Changing those would be pretty low on the list of things to change in the US. Here are some things I'd change first.

Date formatting. This is such a major pita when you see something like 02-03-04 and you have no clue what date that's supposed represent. At least with customary units, the units are usually specified but no such luxury with dates.

Paper sizes. This is annoying because converting between Letter and A4 is not trivial. You might end up with cropped or scaled pages, or with a printer waiting you to load Letter sheets to tray. That latter is very annoying when a) the printer is in other side of the building b) how to cancel the job is not obvious c) the "error" blocks the whole printer while you try to sort it out.

(Prime) Fractional sizes. While inches are fairly intuitive to me, and something like 1/4" is still good, I have no clue how much something like 7/32" is.

MPG for fuel consumption. This is arguably just a bad way to evaluate the economy of cars. Just swap to GPM (gallons per mile) if you want to keep your customary units.

Confusing list prices. The way sales tax and tipping works in the US is weird. Life is just simpler when you can just pay what the price is. It's also bit difficult to compare US prices to rest of the world prices.

Clothes sizing. Well this one applies to the whole world, but could we please sort this out someday? Of course it's bit funny to see something like "US: L, FR: S", but the funniness vanes out quickly when you try to find clothes that actually fit you.

In conclusion it is not the units that are the problem, but the way they are used.

<comment><USER15> If wanting to fit with stereotypes i think "US: L, FR: S" was meant to be the other way round.

MPG may not be a great measure but people generally have an easier time understanding 'bigger is better' so i think it works better than GPM.

</comment></comment><comment><USER16> Because Congress and Ronald Reagan: [http://lamar.colostate.edu/~hillger/laws/usmb.html#disbandin...](http://lamar.colostate.edu/~hillger/laws/usmb.html#disbanding)

        "The efforts of the Metric Board were largely
        ignored by the American public, and, in 1981,
        the Board reported to Congress that it lacked
        the clear Congressional mandate necessary to
        bring about national conversion. Due to this
        apparent ineffectiveness, and in an effort
        [by President Reagan] to reduce Federal
        spending, the Metric Board was dis-
        established in the fall of 1982."

</comment><comment><USER17> If there's anything that will cause the US to change to metric, it's the inefficiencies in manufacturing. Nothing we make to a non-metric spec can be exported. We have to duplicate production lines and tooling to build a metric version of anything. That is inefficient.

</comment><comment><USER18> Nassim Taleb argues that the metric system is too abstract for people to relate to as where measurements like an inch (the size of your thumb) are much more easy to relate to. And as someone who studies usability I have to say that he's on to something.

<comment><USER19> To this day I still don't remember the exact number of feet in a mile. I know between 4-5 thousand, but the exact number is just absurd.

<comment><USER20> exactly 5280. Its not absurd. It has always been that number.

<comment><USER21> The mile has not even been the same size, it changed in 1959 <https://en.wikipedia.org/wiki/Mile> and it still is not at sea, where the nautical mile is longer. The Roman mile was 5000 feet.

<comment><USER20> I stand corrected.

</comment></comment></comment></comment></comment><comment><USER22> Well in my growing up 70s-80s in primary/high school, We got metric courses a few time and some of the books covered it (did you know that a meter is roughly three feet, the distance from the floor to a doorknob? I learnt that in school.)

In the early 80s there was another push many California road signs had dual postings of miles/kilometers to destinations. Cars also had dual gauges on their speedometers, large soda bottles were now in liters instead of ounces.

Then... it stopped again.

Wikipedia fills in some of those blanks [http://en.wikipedia.org/wiki/Metrication_in_the_United_State...](http://en.wikipedia.org/wiki/Metrication_in_the_United_States)

I myself would like to see it change over, it would be a pain for a year or so, but then everything is standard with the rest of the world.

<comment><USER23> Yeah, I remember the same deal in the 80's. In Middle School out teachers made a point to tell us that the US had switched to the Metric system, and taught us all about metric units, etc. And, as you say, road signs often had both units, car speedometers had both, etc.

And then it just stopped. No notice, no noise, no nothing. Everybody just stopped talking about it, the road-signs went back to all Imperial measurements, car speedometers dropped km/h readouts. As far as I can tell, the only real legacy of metrification in the US is that anybody who does much tinkering with mechanical "stuff" that might involve bits that are imported, needs a toolbox loaded with both Metric and SAE sized tools. To be honest, I always half figured the whole Metric movement was arranged by Craftsman, Mac and Snap-On in order to double the volume of tools they sold.

</comment></comment><comment><USER24> For the same reason that we're all still on 12 months, 30ish days, 24h, 60m, 60s, 1000ms time.

<comment><USER25> When you put it like that, it's a bit weird. Is there an imperial fraction of a second that somehow never caught on?

<comment><USER26> This is because our system of time is based the earth circling the Sun and works best for things to slice up a circle, 360 degrees, base 6.

</comment></comment></comment><comment><USER27> While we're at it. Can we have the whole world switch to UTC time and stop dealing with timezones and daylight savings?

<comment><USER28> I agree that DST is just madness but timezones are less insane in theory, they would make sense if they were determined by the longitude normalizing time so that sunrise and sunset happen at roughly similar times. Currently they're pretty screwy sure but the idea actually has some merit.

One thing to consider though is that switching everyone over to UTC you'd still have to consider local business hours. However, instead of just looking at their time zone and figuring 9-5 or standard hours you'd have to have a listing of each business's UTC hours. It might fracture more than timezones do currently.

<comment><USER29> Here's my argument for why DST is a good idea: <http://messymatters.com/dst/>

<comment><USER30> Everyone I have talked with about DST has had opinion, that the time to be chosen as base time used around year is the summer time. I would also change daylight at summer from 5am to 8pm, but i would also rather have in winter daylight at 16pm than 8am

</comment></comment></comment></comment><comment><USER31> Yes, that'd be lovely. No more talking about lbs and such. (I'm British but we were not taught imperial measures.)

But they'd still be saying things like

* "Where's Chechnya?" (if under 15 in 1995 you have an excuse)

* "I love being in England", when they're standing in "Glassgau" (Glasgow=Glazgo) - try it. Brave!

* "different than", "gotten", "color"...

</comment><comment><USER32> Change to imperial units instead, just think of that extra 95ml of beer in every pint glass!

</comment><comment><USER33> 1 Cubic Foot = 7.48051948 Gallons [Fluid, US]

1 Cubic Foot = 6.42851159 Gallons [Dry, US]

1 Cubic Foot = 6.22883545 Gallons [UK]

meh

</comment><comment><USER34> I ask myself often why we still use inches in the EU: for pipe diameters (we still use NPS instead of DIN), trouser sizes, TV/LCD diagonal sizes (that seems to be changing)...

</comment><comment><USER35> <http://www.youtube.com/watch?v=Xw9lTB0hTNU></comment>


Git GUIs: A Tale of Two Source Models - <AUTHOR> https://www.grailbox.com/2020/07/git-guis-a-tale-of-two-source-models/ <comment><USER2> As an alternative, I use git-cola GUI that is free and open source: [https://git-cola.github.io/screenshots.html](https://git- cola.github.io/screenshots.html)

It is not perfect, but it is light and have a lot of the most common operations right.

Its most interesting feature is to be able to easily mark/select chunks of modified files to only commit them.</comment>


Ohio health official estimates 100,000 people in state have coronavirus - <AUTHOR> https://thehill.com/policy/healthcare/487329-ohio-health-official-estimates-100000-people-in-state-have-coronavirus <comment> GuB-42 Taking current data into account, it doesn't make sense.

You don't get to 100k in a day. Even in Hubei, where they didn't know about the virus was a thing. Even in South Korea, where people actively tried to spread the infection. It took more than a week to reach thousands. During that time, there have been symptoms you couldn't miss, like deaths.

As for asymptomatic carriers, the idea seems to be that there are not that many. Certainly not thousands times more than confirmed cases. Even when taking into account incubations time, which is around 5 days (quarantine is 14 days to account for outliers).

It is a prediction for the future, does it include every type of coronavirus (not just SARS-CoV-2), or is it bullshit?

<comment><USER2> Wait... Why did they try to spread the infection in Korea?

<comment><USER3> Patient 31 - [https://www.todayonline.com/world/explainer-what-behind- sudd...](https://www.todayonline.com/world/explainer-what-behind-sudden-surge- Covid-19-cases-south-korea-secretive-sect-patient-31)

<comment><USER4> _Several media reports said that the woman did not get herself tested for the coronavirus because she had not travelled overseas and simply thought that she had caught the common cold._

That isn't the same as _actively tried to spread the infection_.

</comment></comment></comment></comment><comment><USER5> This surely cannot be correct.

If it is, there might be some hope in all this. If a large amount of this 100k can have the virus with minimal symptoms, that could mean we're overestimating the CFR.

</comment><comment><USER6> The problem with the US right now, is that people are simply not getting tested. There are reports of people who traveled outside of US and are showing symptoms yet they are being refused the tests.

The White House has been trying to downplay the whole issue. I understand that any administration would have a hard time handling this but Trump has been doing terrible job, even going as far as naming it a hoax.

In the next 30 days we will see exponential growth of the virus in the US. We have 330 million people but only 1 million hospital beds. Many older folks will not receive treatment.

The way US healthcare is set up will make this issue even worse. In US many people avoid doctors and hospitals due to cost. Many HAVE to go to work because they don't have savings and don't have ANY time off. US is set up perfectly for the virus to spread like wild fire. Plus, many Americans are still ignoring the pandemic. This will not end well for the US.

<comment><USER7> I have Cystic Fibrosis (principally a respiratory condition; I'm certainly in the at-risk population)

I had an appointment with my clinic. My conversation regarding COVID19 gave me the following takeaways:

1\. The testing story is improving - my clinic has access to commercial tests, whereas just a few days ago they had to go through the local municipality and wait several days for testing and confirmation via the CDC.

2\. They won't hospitalize everyone. Many will be able to do either oral or home IVs and recover fine via home quarantine, reserving hospital beds for the worst cases.

<comment><USER8> What kind of oral treatment is possible? Albuterol?

<comment><USER7> Sorry, I used the shortened version of the term without considering how it sounded. Oral antibiotics.

<comment><USER9> Why would antibiotics be given for a viral infection?

<comment><USER10> To treat the secondary bacterial pneumonia that some people get.

<comment><USER9> I can't find any references to covid 19 inducing bacterial pnuemonia in patients, and many references to it being induced by the virus itself and not responding to antibiotic treatment, e.g.

[https://www.sciencedirect.com/science/article/pii/S092966462...](https://www.sciencedirect.com/science/article/pii/S092966462030044)

[https://www.diagnosticimaging.com/ct/covid-19-pneumonia- trai...](https://www.diagnosticimaging.com/ct/covid-19-pneumonia-traits-help- id-and-distinguish-virus)

[https://www.jto.org/article/S1556-0864(20)30132-5/fulltext](https://www.jto.org/article/S1556-0864\(20\)30132-5/fulltext)

It also doesn't seem to match what we are seeing about how it is basically only the severe cases that end up with pneumonia - the ones even less likely to end up self quarantining and taking medication while remaining at home.

<comment><USER10> [https://www.theguardian.com/world/2020/mar/13/coronavirus- wh...](https://www.theguardian.com/world/2020/mar/13/coronavirus-what-happens- to-peoples-lungs-when-they-get-covid-19)

> How can the pneumonia be treated?

> Prof Christine Jenkins, chair of Lung Foundation Australia and a leading > respiratory physician, told Guardian Australia: "Unfortunately, so far we > don't have anything that can stop people getting Covid-19 pneumonia.

> "People are already trialling all sorts of medications and we're hopeful > that we might discover that there are various combinations of viral and > anti-viral medications that could be effective. At the moment there isn't > any established treatment apart from supportive treatment, which is what we > give people in intensive care.

> "We ventilate them and maintain high oxygen levels until their lungs are > able to function in a normal way again as they recover."

> Wilson says patients with viral pneumonia are also at risk of developing > secondary infections, so they would also be treated with anti-viral > medication and antibiotics.</comment></comment></comment></comment></comment></comment></comment></comment>


AT&T to offer T-Mobile customers up to $450 to switch - <AUTHOR> http://online.wsj.com/news/articles/SB10001424052702303370904579298202660593062

<comment><USER2> I am a T-Mobile customer and I see no compelling reason to switch. AT&T has matched T-Mobile by eliminating the contract, and allowing upgrades every year, and even the $45 unlimited plan, but T-Mobile still has better customer service, and free international roaming.

<comment><USER3> I don't remember the details, but I don't think they've "matched" T-mobile. Last I checked, T-mobile's plan allowed 2 upgrades per year, and I think the price was less than what AT&T is charging, too.

<comment><USER2> Good catch. T-Mobile's JUMP is twice a year, plus you can upgrade a lost or damaged phone ([http://www.t-mobile.com/phone- upgrade.html](http://www.t-mobile.com/phone-upgrade.html)).</comment></comment></comment>


Why Dole owns container ships - <AUTHOR> https://www.flexport.com/blog/why-dole-owns-container-ships/ <comment><USER2> Sounds like the answer was: Because their ships have their own cranes and can go to smaller ports in developing countries.

<comment><USER3> Also

* because Dole imports from the tropics which have a limited concept of seasons, so the ships rarely if ever sit unused (therefore it makes sense to own or lease)

* because Dole moves products from places way outside major shipping lanes and ports, hiring ships would be inconvenient

* even more so because Dole needs refrigerated ships making #2 worse

<comment><USER4> Your last item is not totally accurate: Refrigerated ships are the ones where the entire vessel is temperature controlled. What Dole needs is lots of power connections ("reefer plugs"). That's uncommon but not the same as a refrigerated ship. Last I knew, other companies partly use reefer ships (bananas in bulk) combined with loading into containers.

The benefit of a big refrigerated vessel is mostly when you have a big company importing ("importers") in huge quantities and then selling it to other companies. A single container is huge, but it is way less than a whole refrigerated vessel. Part of the reason why more bananas have been shipped in reefer containers is due to companies cutting out the importers.

<comment><USER5> Possibly related episode of 99% Invisible, about the invention & design of temperature controlled containers, to speed or slow the ripening of fruit while in transit so they're in peak condition on arrival:

[http://99percentinvisible.org/episode/reefer- madness/](http://99percentinvisible.org/episode/reefer-madness/)

<comment><USER6> Came here to say the same thing. Feel like this guy [https://twitter.com/Andrew_Jarvis/status/674028991792070656](https://twitter.com/Andrew_Jarvis/status/674028991792070656)

</comment></comment></comment></comment></comment><comment><USER7> Compare and contrast with BP, an oil company that owns a large fleet of tankers. The BP fleet never has the BP logo showing anywhere lest there be some Exxon Valdez scenario or some hijacking.

With bananas the local wildlife would probably be rather pleased if there was a 'banana spillage'.

Point being that there are other reasons for a ship having company logos on it.

</comment><comment><USER8> Are they direct holdings or are they kept in a separate subsidiary of Dole? Would be interesting to note if they haul non direct competitor goods, there have to be other fruits and vegetables in the ports they frequent that Dole doesn't sell. Curious if they transport much back

<comment><USER9> I would be surprised if they were not a separate subsidiary of Dole.

There is usually no reason to have completely unrelated industries (especially when you depend on many companies in said industry to make your primary business function) as part of your main company, especially when, yes, as you stated, the non-related-industry sub-company will usually look for work to optimize its cash flow, ie, to not have idle assets that could be making money instead.

An example we're more use to: Amazon's AWS is a separate company that works for competitors to Amazon's other services (Netflix vs Prime Video, one of the Spotify customers (can't remember which) vs Prime Music, etc.

</comment></comment><comment><USER10> I thought bananas shouldn't go in the fridge.

<comment><USER11> Reefers can be set to whatever temperature they need to be at. Here's what a major container line has to say about that: [https://www2.nykline.com/liner/cargo_advisory/chill_cargo.ht...](https://www2.nykline.com/liner/cargo_advisory/chill_cargo.html)

Bottom-line, 13 degrees centigrade is what you're aiming for along with 50 m3/h of airflow (50 cfm in US units.) Airflow because bananas ripen in the presence of ethylene and ripening bananas release ethylene. That's the reason putting bananas in a paper bag ripens them faster.

<comment><USER12> Interesting, thanks. I'm surprised how many of those are at or near freezing! Or for apples, actually below freezing.

</comment></comment></comment><comment><USER13> The real question here is why Dole owns container ships and Chiquita doesn't. What differs Chiquitas needs from Doles?

<comment><USER14> It seems simply financial engineering - Chiquitas sold the ships, then leased them back on long term contracts, but freed up a bunch of short-term cash

[http://news.thomasnet.com/companystory/chiquita-completes- sa...](http://news.thomasnet.com/companystory/chiquita-completes-sale-of- ships-522844)

</comment></comment><comment><USER15> When major players are consolidating (CMA CGM and NOL, Cosco and CSCL) it makes no sense to have a four ship fleet.

Any company could easily accommodate their needs (refer capacity, cranes, etc)even cheaper given the fact that right now the dry and container market is at the lowest point ever.

This is the era to charter a vessel and not own one.

<comment><USER16> It's just four ships on the West Coast, though. In total, Dole owns 19 vessels: [http://www.doleoceancargo.com/vessels.html](http://www.doleoceancargo.com/vessels.html)

<comment><USER17> >Follow @DoleCargo

I'm amused that the Cargo fleet has it's own twitter account.

<comment><USER18> It's even funnier that it seems someone hooked up the account to a social game and is playing with it broadcasting their score ;p

</comment></comment></comment></comment><comment><USER19> Not sure about the US but those containers are great for adaptive use in retail and housing in many parts of Asia.

<comment><USER20> Never heard of refrigerated containers being used for retail or housing. Got a link?

<comment><USER21> I don't think they keep the refrigerators. A couple of feed stores around here use containers for storage. Gotta be hotter than hell tossing 50lb bags of cattle feed in one of those things in middle of summer!

</comment></comment></comment><comment><USER22> Del Monte has their own banana ships. I know some of them call port in Galveston.

</comment><comment><USER23> flexport ~ y-comb

</comment><comment><USER24> Yes! We Have No Bananas.</comment>


Birthplaces of major programming languages - <AUTHOR> http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=117404454311069720041.000450acfaf9cdd44c4f7 <comment><USER2> To whoever did so: thank you for including LOLCODE.

</comment><comment><USER3> Tcl came out of Berkeley, and I believe Rasmus was in Canada when he hatched PHP.

</comment><comment><USER4> brainfuck was in there. Cool, that means it's a "major" language now :D</comment>


I Trained an AI to Write My Video Essays - <AUTHOR> https://www.youtube.com/watch?v=FviKrk1HJTM <comment><AUTHOR> This is not my original content, but I thought it was fascinating and well worth discussing on HN.</comment>