How would you characterize 10k monthly paycheck for a fulltime ruby-developer? - <AUTHOR>

Hi,<p>I am interested in what quality of work I should get for 10k monthly paycheck. How many hours would you put in for that kind of amount? <comment><USER2> 10K works out to $120k a year, that is about normal for a salaried senior level developer. Given that salary usually denotes 40 hr a week, 2 weeks vacation, sick leave, a portion of taxes paid and 401k matching. If any of those are not in the mix you have to reduce the compensation by that amount to come up with what it equates to in salary. if it is W-9 or 1099 that is about $80-$90k in compensation still at the bottom end of a senior developers salary. Developers naturally assume that there will be crunch times of 60-80 hours per week but if those kind of hours are the norm 10k is pretty low. I work in constant crunch of at least 60-80 hrs per week and my weekly earnings are slightly below the same as that monthly amount my monthly earning are around 3X that amount. I do corp to corp W-9, and I have a rare skill set but ruby developers are not exactly falling out of the trees either. 10K sounds about right to me, it is nothing spectacular and a ruby developer should be able to find that from a variety of potential employers. That said, you should expect normal working hours for that amount if they are a salaried developer, if they are contract you should expect around 30-35 hours a week.

</comment><comment><USER3> 10k @ 40 hrs per week is $62.50 an hour - if this is a short term contract it's not that good. Even as a longer term contract it isn't that great. If it's W9 it's even worse. If it's 1099 it's a little better, but still not going to get you top talent. My pulse on the current market for rails developer's isn't that current, but I'm guessing you'll need to get closer to $100 to $120 per hour to find talent at the higher end of the spectrum.

</comment><comment><USER4> You should not worry about hours. You should worry about results produced over months (or even quarters). Whether the wage ends up being $50/hr or $250/hr matters little so long whatever you need done gets done on time.

Caveat emptor: I'm a developer.

</comment><comment><USER5> Is there a correlation between "quality of work" and "hours [...] put in"?

</comment><comment><USER6> As a contractor I'd do productive work for around 100 hours per month.

As a full-time employee I'd be in the office for 160 hours and probably do productive work for around 80 hours per month.</comment>


Lenovo ThinkPad 25 Leak: The Anniversary ThinkPad – Specs and Pictures - <AUTHOR> http://winfuture.de/news,99749.html <comment><USER2> The hinges don't seem to be right. I like what Lenovo did with the p50 and p70 using the old hinge design, but this is just some marketing, not a top notch product.

I actually like the new keyboard more, so I don't really get the nostalgia. I use a x220 and I got a x230 for my girlfriend, so comparisons are made daily.

</comment><comment><USER3> Too bad they didn't bring the 4:3 aspect ratio of the T60/61 back.

<comment><USER4> I have been using ThinPads exclusively for almost two decades. I just took a look at my old TPs, everything is better in the new laptops except for DEL/INS/PGUP/PGDN/HOME/END key placement and the 4:3 aspect ratio.

I remember how attached I was to my ThinkPad keyboard and how worried I was when they changed to the new one. Comparing the new with the old the new seems to be much more responsive and rock solid -- the old flexed a bit and is not that crispy. I guess that is just memory trick that makes us think that the old was better -- especially when we were so attached to the old keyboard -- this was and still is the most important selling point for me and many other people.

I did not have high hopes for the screen -- probably nobody produces 4:3 laptop displays and they will certainly not adapt entire process and start production just for one, niche laptop.

<comment><USER3> There have been several Chromebooks (Pixel, Samsung Pro / Plus) with great 4:3 displays.

<comment><USER5> Aren't those 3:2 ARs just like the iPads and surface tablets?

4:3 screens aren't really made anymore at least not in the quality people expect. You still can find 5:4 screens and 1:1 screens which are made for medical usecases but those are expensive as frack.</comment></comment></comment></comment>


Sprint Will Sell a $12 Wireless Plan that Only Connects to Facebook or Twitter - <AUTHOR> http://blogs.wsj.com/digits/2014/07/30/sprint-tries-a-facebook-only-wireless-plan/

<comment><USER2> Here in Brazil this practice is prohibited by law. The reason is that you cannot charge according to content, the telecoms can sell only full internet access, nothing else like this kind of combination.

</comment><comment><USER3> Countdown to TCP-over-TwitterDM in 3... 2.... (in the same vein as tcp-over- over ping and tcp-over-dns-txt)

<comment><USER4> We've already got TweetFTP: [https://github.com/NYTimes/tweetftp](https://github.com/NYTimes/tweetftp)</comment></comment>


The woman who aims to take Tor mainstream - <AUTHOR> http://www.dailydot.com/politics/shari-steele-tor-project-eff/ <comment><AUTHOR> TL;DR - Shari Steele did great things in leadership at the EFF for many years, and is now trying to do the same for the Tor Foundation.</comment>


So I have built something that already exists...now what? - <AUTHOR>

So this is actually cross posted from r/startups at reddit. I trust you guys more than the hive mind on this one.
Well, it turns out that the project that I've been working on for the past few months in hopes of escaping my cube one day has complete feature parity with another company's product! In fact, not only does it have complete feature parity but the other company's product has all the features that I wanted to implement. The company in question is squareup.com.
Question is...what should I do? Should I try to out-innovate them? Or are they so far ahead of the game that I should move on and find something else? I think I see some room for innovation in this space still; however, they've got capital, man power, etc. and I don't.
As of now I have a prototype that's good enough to show off, basically, that could be grown in to a beta pretty easily. So I don't have a huge investment in terms of time at this point; however, starting over on something else sounds kinda scary...
Anyway, I'm only any good with the technology part of this stuff, still learning the business/management end. Any advice that you guys can pass along would be great! <comment><USER2> It's very scary that you didn't already know about them. They haven't exactly been in stealth mode -- most people have been aware of them for at least the last three months.

<comment><USER3> Most people? On Earth? Really?

<comment><USER4> Most people that follow the startup world, yes. I was surprised too he hadn't heard of this high-profile competitor.

</comment></comment></comment><comment><USER5> > So this is actually cross posted from r/startups at reddit. I trust you guys > more than the hive mind on this one.

I am confused. Your reddit post[1] had some really good suggestions and advice. What makes you think HN is less hive mind-ish than most other places? And what does hive-mind has to do with the topic?

I just think that point was in bad form. There are good and bad points of reddit community (just like any other online community), this example is not one of them.

[1] [http://www.reddit.com/r/startups/comments/c9q1x/so_i_have_bu...](http://www.reddit.com/r/startups/comments/c9q1x/so_i_have_built_something_that_already_existsnow/)

</comment><comment><USER6> It's a really good problem you have here. If you're self admittedly not good at the business/management end, I'd encourage you to think about what your real goal is. That is--I often find myself building products because--well--I love to build products. It's my hobby.

On the other hand, I've been involved with enough startups to know that most of my attempts to commercialize my products will probably fail. So back to goals--you say yours is to escape your cube. Do you mean:

1\. I want to escape the type of job that puts me in a cube.

2\. I want to no longer work as a developer.

3\. I want to no longer work--since I'm filthy rich.

Those span the gamut of goals and without knowing what you are really after, it's hard to give you advice on how to proceed. For the sake of adding some direct reply, let's assume it's #1 above. In that case, I'd say--keep honing your skills, demo your product and use it as a calling card for a job search with companies you think you'd be a fit with (maybe even Square). Don't bother the commercialization path and don't sweat the competition--since this is lateral to your goal of a better workplace--and a lot more achievable than a commercially successful startup.

Hope that helps.

</comment><comment><USER7> Hey, I work at Square and I'd say if you're passionate about it you should go for it. Startup life is a whole lot more fun than corporate life. If you've found something you're so excited about that you want to spend your free time building it that's totally awesome.

The one piece of advice I've got is to watch out for the business/regulation side. Dealing with the payment card networks is a seriously non-trivial problem.

</comment><comment><USER8> Yeah it's always a little depressing to discover someone else has had the same idea as you - and executed on it. Although it is a little surprising you haven't heard of these guys - or at least the product - it's been in the press a fair bit. Hopefully the lack of marker research / market awareness is not indicative of any other issues :)

Generally speaking, there's always room for more than one vendor, for any product or service. Even in the giant-dominated worlds of search and social networking there are plenty of smaller players who do well. If there is a market for something, there'll be room for several suppliers - perhaps many.

So, I wouldn't get disheartened. As others have said it's free market validation for you (assuming they have customers). So look at their customers - who they are, what's the use case for them, what value do they derive from it? How much do they pay? Answers to these and other questions will help you market your version more effectively.

The only issue is: can you deliver? Do you have the technical know-now to build this product (e.g what about the card-reader? security, customer data protection etc etc?). And do you have the resources / sales route to take it to market and get customers?

If you think you can build this and get it market, then great. Go for it. The competition will only force you to better your product, give you ideas and show you where the money is.

</comment><comment><USER9> Drop it.

Or rather evaluate how long it would take you to catch up with them (in their existing state) including the hardware part - acquiring it, stocking, selling, supporting, etc - and then see if you are willing to do that _knowing_ that you will also need to out-market them. Then sit down and think about it. Realistically you are too late and you are too few. Think about it a bit more and then drop it.

</comment><comment><USER10> @ youdontknowme123,

What is important is having had the wherewithall to get to where you are. Now what do you do with that knowledge? Finding VC money isn't necessarily the way to go. In fact, it's rarely the way to go unless Stress is something you just can't do without.

The fact that someone else (SquareUp) has beaten you to market is irrelevant. Square isn't out of the woods yet.... Visa, for example will have something to say about it. Their reader is also not unique, and iPhones will all have the capacity to read cards, without external gadgets.

IMHO, you should go after an "alliance" with someone in the financial transaction business. It's not an easy game to play in, as one your posters has pointed out. I'm not in that business but can help you find someone on that front. And no, I don't want anything for the help, but I've been an entrepreneur and sometimes when you're in the trenches, you can't see the forest, not because of the trees, but because the muck and mud are up to your eyebrows. :-) jdebar AT telus.net

And good luck giving air to your entrepreneurial spirit.

</comment><comment><USER11> Send me an email firstname.lastname@example.com I run an online accounting application and looking at building this area out as well.

</comment><comment><USER12> Square has secured at least $10M in funding (<http://www.crunchbase.com/company/square>) and are pretty far along from what I can tell. That said, there's almost always room for competition, especially in the payment gateway market. If you think you can make something that is better/cheaper/simpler/etc., I'd say go for it (since you've already been working on this for the past few months). Find a partner to help you out and if you need money, try pitching to local angel investors. If you can seriously compete with Square (and convince them of that), it shouldn't be hard to get some kind of seed funding.

</comment><comment><USER13> I'm doing something similar (not similar to this niche, but going after a niche that has many competitors). But, we did it intentionally, so there was no surprise.

What we're doing is focusing on one killer feature -- and addressing it in a way that none of our competitors do.

So, what's your killer feature? I would think hard about that, because that's what will differentiate yourself.

Once you have a beta product, I'd pick a geographic area and market there. Research the Yelp approach. They were very, very far from the first to market -- and had a unique approach to get a competitive edge.

</comment><comment><USER14> You have to ask yourself what is your real goal? Making such prototype is 5-10% of the overall task. Market that kind of product and commercialization is the rest of it. If you truly want the product to come to market I would try to find potential customers and than try to close a first round of angel investors. Following than would be to build up a small team, continue product development and so on. You can see it is all in the execution towards the goal and that closes the comment with the same starting question. What is your real goal?

</comment><comment><USER15> Unless you already have the partnerships with the credit card processors and the capital to protect yourself from fraud (90% of the work) - I would release the design as open source and make it compatible with Square.

This will at least let hundreds of people build their own readers, and potentially educate most of them in magnetic stripe encoding.

Alternatively/Additionally the Square reader is miles away from ergonomic and by having another design out there you can make a small profit by selling more reliable readers.

</comment><comment><USER16> ".....has complete feature parity with another company's product! In fact, not only does it have complete feature parity but the other company's product has all the features that I wanted to implement."

Eh? So when you say "parity" you actually mean they've got heaps of features that you don't?

My advice would be to look at the niche that they're trying to serve and attack it from another angle. They're a "everyone can use it to get paid" company, maybe you should focus even more specfically on shopkeepers or tradesmen?

</comment><comment><USER17> I would be really worried if there was no other company in the world that was working on solving the problem that you also working on. Competition is good, it validates the market etc.

The real question is not "some one else is working on this, should I quit?" To me, the real question is "someone else is working on it, the problem is real and there is market demand - am I ready to do whatever it takes, for however long it takes, to make this company successful?"

</comment><comment><USER18> You'd have to catch up before you can pass them. They have features, capital and business and sales skills that you lack. Time to pivot (read up a bit on Steve Blank). Find a different market to apply the work completed to date. Another critical question is: "How good is your understanding of the customers' needs?" Talking to your potential customers is the best way to figure out where to pivot to.

</comment><comment><USER19> Read Rework of Jason Fried and Heinemeir Hansson. This Will mots probably change your perspective on this situation. Getting real of 37signals too. One of the unexpected advise is to underdo your competitors. Another one is to art a business not a stratus. Etc.

</comment><comment><USER20> Maybe see if you can join them...

</comment><comment><USER21> Square seems to be working in a niche; but on their own so there is always space!

Also; the Square site is quite confusing and unclear. You could definitely outmanoeuvre them with some effort.

</comment><comment><USER22> one approach is to try and target a niche of the market, where you can get closer to the customer (ideally a high-frequency niche) and get more social, and use a social campaign to get key influencers on board. it may take a bit of brainstorming on that one though.

there's a good book on marketing strategy by some ex-microsoft guys that explains 3-5 standard market entry strategies. i suggest finding that. can't recall the name. has a picture of a football play on the cover i think. enjoy and good luck.

<comment><USER22> found it, the marketing playbook

is the name of the book

</comment></comment><comment><USER23> You can out market them, charge less, or do any number of things to differentiate them. Don't worry about it. Anything worth doing has competitors. Might actually help get you funding.

</comment><comment><USER24> How do you or squareup solve the problem of the bad guy that clones the iphone app to steal PINs and uses a card skimmer as a 'reader'?

This looks like a phisher's dream to me.

<comment><USER3> I think that's a problem for the cardholder, the card company, and most of all for the merchant who later takes a payment using the stolen card (and usually gets stuck with bill). Square doesn't bear the cost, and after all, what can any payment processor do to prevent scammers from mimicking their hardware and software?

</comment></comment><comment><USER4> Shop this around with VCs as a "square competitor". If the market is great, then there's room for more than 1 startup.

</comment><comment><USER25> Out market them. Marketing can defeat any other advantage your competitors may have.

</comment><comment><USER26> Do you have a demo? Contact me at mirko at buholzer cm

</comment><comment><USER27> read article about Elisha Gray.</comment>


Google Changes Tack on Android - <AUTHOR> http://online.wsj.com/article_email/SB10001424052702304371504577406511931421118-lMyQjAxMTAyMDEwNTExNDUyWj.html <comment><USER2> Oh I hope this is true.

I sit here seven months after Google released the source to ICS, and still the T-Mobile Samsung Galaxy S II has not been upgraded to Android 4.0, and today the rumor is it will be at least another month before TMo and Samsung can get their act together.

Android may have lots of Google induced issues, but it certainly seems that 90% of the issues most users have comes from terrible carrier bloatware and infrequent, late, or just never occurring carrier updates.

<comment><USER3> Note that it isn't just the carriers that suck, it's the manufacturers too. Many of them put their own tweaks on Android which means that they have to do updates on their end to get Android upgrades.

It's absurd that I as a developer am forced to release for 2.2 at this point. 95% of my iOS customers are on 5.0 or better, and 88% of them are on 5.1 which came out in March. I think roughly 20% of android is still on 2.2, and most are on 2.3. Seems pretty silly when 4.0 came out 7 months ago.

<comment><USER4> > Note that it isn't just the carriers that suck, it's the manufacturers too

Carriers have absolute control over the consumer sales channels, and that gives them all the power. The carriers demand extreme control over the hardware and software pushed through those sales channels, and the manufacturers (other than Apple) have no choice but to give them that control because that is how you win in this business. Just ask Samsung, who made $5 billion last quarter selling devices running outdated Android 2.x. Or ask HTC, who got crushed by the carriers after offering devices with unlocked Android bootloaders.

If you're a manufacturer, you win by being the one who makes the carriers the most money per customer per month.

So how does ICS help Samsung make more money for Verizon? How does upgrading old devices to ICS help Samsung make more money for Verizon? If you're Samsung, that's the only question you're trying to answer.

The reality is that ICS does not help Samsung or any other manufacturer make more money for Verizon, and that's why ICS adoption has been so low.

The problem is that the manufacturers (other than Apple) have little desire to change this business model. If (and when) Samsung begins to defy the carriers, LG and Motorola and HTC will trip over themselves to take Samsung's place and become the next darling of the carriers.

<comment><USER5> > Or ask HTC, who got crushed by the carriers after offering devices with > unlocked Android bootloaders.

I generally agree with you about the power of carriers, but this HTC bootloader thing is an irritating myth. Samsung's devices have been consistently more hackable than HTC's for the entire period in question, not to mention that they topped it off by hiring cyanogen. HTC has had their issues (too-large device portfolio, not matching the SGS2, etc.), but bootloaders were a blip, either way.

</comment></comment></comment></comment><comment><USER6> A few weeks ago, I bought an HTC One S unsubsidised from T-Mobile. The cost? $599. Friends thought I was crazy. You can get it for $199 on monthly contract! But do you know how much I pay per month? $30. For unlimited texts, web and 100 minutes of calls. I'll make up the difference within months.

If Google can make this kind of thing easier, I'm all for it.

<comment><USER7> Where did you get this $30 plan? Is this with T-Mobile?

<comment><USER6> Yep:

<http://prepaid-phones.t-mobile.com/prepaid-plans>

I've been hesitant to promote it in case it gets oversubscribed and T-Mo shuts it down...

<comment><USER8> Very complicated chart. All the data is unlimited but varies by full speed caps.

FWIW, If you ever need to conserve your high speed data plan, you can switch to 2G. That way you can still have your data on, but it is un-metered.

<comment><USER6> It is somewhat confusing. But 5GB at 4G is more than enough for me.

</comment></comment></comment></comment></comment><comment><USER9> Credit for acknowleding their mistake, but man it took a long time for Google to stop mutilating their own feet with the flagship phone crap and lip servicing AOSP, forcing manufacturers to add sizzle to compete.

</comment><comment><USER10> It should be interesting to see what a product sold to consumers rather than wireless carriers will look like. My guess is that they will be less expensive and have less bullet-point features; carriers need expensive phones to justify an expensive ETF (and cost to switch), but consumers just want to buy something inexpensive and replace it in a year or so.

<comment><USER11> Note that "not messed with by your carrier, no bloatware, no extra skins you don't want and more timely updates direct from Google" is a fairly strong bullet point for some.

At the very least this will raise the bar so everyone else will have to do better.

<comment><USER12>
      > no extra skins

On the other hand, I have found some of the features of Samsung's skin to be _more_ useful than stock Android. The competition is good.

<comment><USER11> I have a Samsung tablet where I really don't want some of their crud. (The device came with no less than 3 apps named "Music", and two named "Books".) I'd strongly prefer the vanilla Honeycomb skin and not Touchwiz, but I don't get that choice.

What they could have done is make it possible to turn off. And sell it in the Android market for other non-Samsung devices. (If it is that good then other people will want it.)

</comment></comment></comment></comment><comment><USER13> I bought a Galaxy Nexus from Google about a week ago for $399 from Google Play. Completely worth it, as it's unlocked and it runs pure ICS and will be updated whenever Google releases an update.

</comment><comment><USER14> if i remember correctly, this was the original vision for android. the nexus one (thanks bgentry) was initially only sold through google's online store, and then the carriers got it and eventually google shut down their online store. It's good to see google taking back some control.

between google and apple surely there is enough influence that together they can bully the carriers into sucking less.

<comment><USER15> You may be confusing the G1 with the Nexus One: <https://en.wikipedia.org/wiki/Nexus_One>

</comment></comment><comment><USER7> The main problem here is consumers don't want to pay $400 when they can pay $200. If they're going to stick with their carrier for the long haul the 2 yr contract isn't really a problem. It comes down to upfront cost and the carrier will always win at that game.

<comment><USER16> I thought the problem (in the US) was that At&T or Verizon don't want this model to work, and don't make the plans attractive, so you end up paying more for the phone and still end up paying the same overburdened service cost.

Also, that available primarily online only phones don't sell nearly as well as hands on, in person sales.

This strategy seemed to have not worked so well earlier. I guess seeing how subsequent Nexus devices going through the carriers have been mangled, lack upgrades, etc -- leads them to think they just have to do it anyway, and try for the long game.

<comment><USER17> AT&T is probably going to be pushed to do so by the continued existence of T-Mobile. We're lucky that deal didn't get through, or you can be sure you wouldn't be able to have SIM-only plans.

My guess is Verizon will block this point-blank, and refuse to activate the phones. It'll take a change in the legal landscape to compel them to do so. They already have Android phones coming out of their ears, plus the iPhone, so they have no need to play nice with Google, particularly if Google isn't willing to use Motorola to play hardball.

<comment><USER5> Wouldn't the open-access conditions of the 700 MHz band force Verizon to play along - at least to the point of activating phones purchased elsewhere?

Or to put it another way, if they've really stopped playing nice, wouldn't Google end up making that argument?

</comment></comment></comment></comment><comment><USER18> Does this mean Verizon and Sprint will never get another Nexus? I don't know if the concept of "unlocked" means anything on their SIM-less networks.

</comment><comment><USER19> Google as a MVNO coming up in 3...2...</comment>


Dust storms on Titan spotted by Cassini for the first time - <AUTHOR> https://www.esa.int/Our_Activities/Space_Science/Cassini-Huygens/Dust_storms_on_Titan_spotted_by_Cassini_for_the_first_time <comment><USER2> Annoying that the image for the article is an 'artist's conception', and further that it's not immediately labelled as such and you need to click through to determine that.

<comment><USER3> 100% agree. Regular people don't know how real photos from space look like, and will likely mistakenly assume this is. Yes, it's not obvious. Remember this picture?

[https://saturn.jpl.nasa.gov/resources/7639/cassini-grand- fin...](https://saturn.jpl.nasa.gov/resources/7639/cassini-grand-finale- concept/)

It circled the Internet recently. Without clear information that's just an artist conception. I had to correct _tech people_ who mistakenly thought it was a photo.

<comment><USER4> That link just loads a blank page for me on iOS. Weird.

</comment></comment></comment><comment><USER5> It's fun to imagine "dust" here can be ice crystals. A lot of the surface, IIRC, is frozen water.

For Titanites, we are weird beings mostly made of molten rocks.

<comment><USER6> From their perspective, we also breathe a flammable gas. With all that methane, oxygen would be the fuel on Titan.

Very strange being indeed.

</comment></comment><comment><USER7> This is probably a dumb question, but if it is covered in methane and there are clouds, is there lightning? If there is, wouldn't the methane ignite?

<comment><USER8> It would only ignite in the presence of oxygen, and at least according to the information I've looked at it doesn't seem that Titan's atmosphere contains large amounts.

<comment><USER5> If it does, with all those hydrocarbons around, it won't be there for long.</comment></comment></comment>


MGM Could Replace Many Employees with Robots - <AUTHOR> https://www.vegasslotsonline.com/news/2019/03/07/mgm-could-replace-many-employees-with-robots/ <comment><AUTHOR> Thoughts on the future of customer service being run by robots? What impact will it have on the experience of a service being carried out with human interaction?

<comment><USER2> I stayed at one of their Vegas hotels 4 months ago. Their self check-in kiosks were unusable and I has to stand in line with other humans.</comment></comment>


Diaspora co-founder Ilya Zhitomirskiy passes away at 21 - <AUTHOR> http://techcrunch.com/2011/11/13/diaspora-co-founder-ilya-zhitomirskiy-passes-away-at-21

<comment><USER2> dupe - <http://news.ycombinator.com/item?id=3231531>

<comment><USER3> Actually, it's the other one that's the dupe!</comment></comment>


Resflash – Resilient OpenBSD images for flash memory - <AUTHOR> https://github.com/bconway/resflash

<comment><USER2> Can anyone suggest some reasonable-but-cheap hardware solution for an openbsd firewall "appliance"? I've been using old PCs for years but they are not really cheap when you consider the power consumption.

Soekris hardware is often suggested, but they are not so cheap.

<comment><USER3> If you want something router-like, PC Engines apu1d and apu1d4 at $124 and $145 USD are good options, as is the older (but slower, i386-only) alix2d3 at $103.

There are also plenty of micro ATX or all-in-one fanless PCs with dual-NICs in a similar price range. Or dual-NIC Intel NUCs, as well (not fanless).

</comment></comment><comment><USER4> This seems like something that would be great for putting together a secure router. It seems that most router manufacturers that use an open source OS use Linux. I have yet to see an OpenBSD based commercial offering.

<comment><USER5> [https://www.esdenera.com/en/esdenera- firewall](https://www.esdenera.com/en/esdenera-firewall)

[http://securityrouter.org/wiki/Pricing](http://securityrouter.org/wiki/Pricing)

eracks.com offers preinstalled obsd firewalls

Probably many others, but if you mean store bought consumer devices no idea but would be trivial to abstract away the OBSD complexity and offer secure remote updates if a company wanted. Why they don't, maybe it's cheaper or easier to find GNU/Linux engineers.

<comment><USER6> I feel like OpenBSD-based Firewall price is ridiculous compared with FreeBSD- based (i.e. pfSense). Honestly, what make OpenBSD-based fw more expensive like that? Or am I missing something?

<comment><USER7> Many, many firewall vendors (some based on OpenBSD, some on FreeBSD, some on linux) think they provide significant value.

They really don't.

Thus the growth of systems like pfSense.

</comment></comment></comment></comment><comment> bmir-alum-007 Really cool.

TL;DR: Resflash has some really useful features for real-world embedded use- cases.

Having done embedded development (industrial packet radios), having an embedded firmward loader and fail-safe ROM are definitely major pluses for less brickable products. The having two versions is a similar approach.

Also handy is a dev board w/ actual hardware watchdog and some industrial NVRAM.

</comment><comment><USER8> > Resflash exclusively uses read-only and memory-backed filesystems, and > because the partitions are only written to during system upgrades (or as > otherwise configured), filesystems are not subject to corruption or fsck due > to power loss

How do I proceed about configuring Linux this way?</comment>


Energy-efficient encryption for the internet of things - <AUTHOR> http://news.mit.edu/2018/energy-efficient-encryption-internet-of-things-0213 <comment><USER2> I can't even remotely see that energy efficiency of crypto is a real problem in IoT security and that adding another chip would solve anything.

Most problems in IoT security can be reduced to "nobody cares". If vendors can't be bothered to stop using default passwords, how are you gonna convince them that they add an extra chip to have more performant crypto? (Which almost certainly they'll use wrong anyway.)

<comment><USER3> There certainly are use-cases for this device.

The one I'm intimately familiar with is in smart-metering with gas-meters. These things a battery powered and need to last for ~20 years on that battery. Simultaneously, they're dealing with financial data and communication, therefore all communications are encrypted & authenticated.

This device, although may be expensive tho... when you're dealing with 10's of millions of units, that cost really counts.

Hopefully someone (ARM) will snap start embedding this type of device within the Cortex-M range... (yes, I know, there already is crypto-acceleration, but more is better).

</comment></comment><comment><USER4> Maybe I'm just blind, but I can't find a link to the paper in the press release. Not that I would understand the hardware-specific parts, but I was just curious what software implementations they benchmarked against and how their elliptic curve algorithms were implemented.

I guess research chips like those end up serving as inspiration for the CPU designers of Intel/AMD/ARM etc. to evaluate which encryption instruction sets might be good to include in the future? Or are the fast vectorized multiplication operations and such already good enough to implement fast asymmetric crypto and no specialized instructions similar to AES-NI are needed? (Though of course this paper seems to imply that specialized hardware is useful)

<comment><USER5> The paper described in this article is not yet presented — it will likely be published in the proceedings of the cyber. But I found two relevant recent publications from the same lead author through Google Scholar:

Energy-efficient protocols and hardware architectures for transport layer security — [https://dspace.mit.edu/handle/1721.1/111861](https://dspace.mit.edu/handle/1721.1/111861)

eeDTLS: Energy-Efficient Datagram Transport Layer Security for the Internet of Things — [http://ieeexplore.ieee.org/abstract/document/8255053/](http://ieeexplore.ieee.org/abstract/document/8255053/)

There are probably others. I look forward to seeing this paper when it's published though.

</comment></comment><comment><USER6> I thought this was about a new kind of bignum acceleration, which has been a thing in some embedded systems for more than a decade. NXP had one on an el- cheapo SoC product already back in 2008-2009.

But no, this is apparently a generic ECC acceleration unit. It's still a bignum system but a somewhat more focused one. I would love to see some comparative benchmarks - not only on speed, but also on driver implementation complexity.

</comment><comment><USER7> >Elliptic-curve cryptography relies on modular arithmetic, meaning that the values of the numbers that figure into the computation are assigned a limit. If the result of some calculation exceeds that limit, it's divided by the limit, and only the remainder is preserved. The secrecy of the limit helps ensure cryptographic security.

I don't think the limit is secret.

</comment><comment><USER8> > "They move a certain amount of functionality that used to be in software > into hardware," says Xiaolin Lu, director of the internet of things (IOT) > lab at Texas Instruments.

Hardware will always be king. It's the platform. Platforms should assume more responsibility, so that applications can assume less. It stands to reason that more applications would exist as we make it easier to build them.

Furthermore, less people can fuck up implementations if they are embedded in physical metals and rocks. Take more power away from the human, because the human cannot be trusted.

</comment><comment><USER9> Doesn't ARM already have some crypto acceleration instructions on their chips? Aren't algorithms like AES done on smart cards? I've never heard of power requirements for cryptography being a real problem on modern processors. This seems like a solution in search of a problem.

<comment><USER3> This is for battery-powered devices like smart gas-meters that have strong crypto requirements but also need to be extremely low-power.

</comment></comment><comment><USER10> > One of the computations to which the MIT chip devotes a special-purpose > circuit is thus modular multiplication. But because elliptic-curve > cryptography deals with large numbers, the chip's modular multiplier is > massive. [...] The MIT chip's modular multiplier can handle 256-bits.

The advantage of ECC is that it's stronger for a given number of bits. Now if we have hardware acceleration, is that still valid?

</comment><comment><USER11> So an ASIC chip basically like what mines most of the Bitcoins these days?

<comment><USER12> Application Specific Integrated Circuit, so yes but no.

BTC ASIC chips are relatively simple sha-256 generators, whereas the chip from these MIT researchers is somewhat more complicated and can handle elliptic- curve public-key cryptography.

</comment></comment><comment><USER13> Sounds interesting, I'd be curious to know the specs of the chip and any other features. I currently work with ATECC508A/ATECC608A, and they (finally) have excellent libs to use.

I'm curious if the price/power tradeoff here is worth it. They're making a bigger, more expensive chip that uses less power, but current solutions already use quite little.

I'm disappointed in the 1/400 power, 1/10 memory, 500x faster nonsense though...some actual specs would've been nice.</comment>


Today a greater percentage of Dutch people speak English than Canadians - <AUTHOR> https://en.wikipedia.org/wiki/List_of_countries_by_English-speaking_population <comment><USER2> My parents live in Amsterdam and it's great. When I visit I pretty much just assume that people know at least some English.

</comment><comment><USER3> Not really surprising considering that the Canadian province of Quebec (8M population out of 35M) is mostly French speaking.

<comment><USER4> On the other hand, the Netherlands is almost entirely Dutch speaking.

</comment></comment><comment><USER5> I don't know the word for what you've done, but Canadians isn't a language. I believe you meant to say was "Today a greater percentage of Dutch people than Canadians speak English." Or something more different and clearer yet.

<comment><USER6> I had no trouble understanding the title but I've reread your last sentence a few times and I still don't quite get it.</comment></comment>


Ask HN: Where to find people to program with in Silicon Valley? - <AUTHOR> I recently moved to Mountain View and have been making an effort to meet new people in the area. My primary goal is to find some people who would want to meet up regularly and collaborate on some sort of project just for fun and for the sake of learning new things and socializing with other engineers.<p>I'm not interested in attending hackathons because I don't have the physical endurance to stay up all night, and most of the meetup groups where people get together to code are inactive. THe majority of current meetups involve only tech talks where people get together to listen to some talk, and then go home. <comment><USER2> They have this new thing in SV that I think would be perfect for you. After a brief admissions process, you join a group of engineers who congregate at the same time and place five days of the week. You collaborate on projects, learn new things, and perhaps even socialize. They even offer you units of exchange with which you can acquire resources. It's a really great setup, and just goes to show what an innovative and dynamic place SV is.

<comment><AUTHOR> I already have job and want to learn things outside of what I do at work (enterprise security). Thanks for posting an utterly useless comment.

<comment><USER2> I just don't see how a guy with your sense of humor and amiable personality could want for friends.

<comment><AUTHOR> I understand that you were joking, but I replied out of frustration because I genuinely want to find a group of people (outside of my coworkers) that I can make cool stuff with but its been difficult.

</comment></comment></comment></comment><comment><USER3> You want to regularly sit next to people with headphones on, coding away on some side project, while momentarily taking off said headphones to ask/answer questions and talking shit about quirks of some arbitrary framework?

<comment><USER4> Not sure if that's sarcastic, but you're describing something that sounds pretty great

<comment><AUTHOR> Totally, that sound like a great environment.

</comment></comment></comment><comment><USER5> Come to hacker dojo (about a mile and half from downtown mountain view). I work from there somedays and I am looking for help in some of my projects. Contact me if interested. Email in profile.

</comment><comment><USER6> So you seem to want to:

\- socialize with other engineers,

\- work (= program, I suppose) on interesting projects together.

My opinion is that programming is actually a very lonely activity to the point where I think it is actually harmful if you are not concentrated during programming. It may be more fun to get out of someone's own "bubble" for a couple of minutes and have a talk with some fellow programmer, but that fellow might be very comfortable in his/her bubble at that time, so you are actually distracting him/her.

So maybe you should try to find interesting software projects one way and try to socialize another.

</comment><comment><USER7> Have you attended a hackathon? It's usually more like working full-time for a couple days than an actual marathon without sleep.

There's really no better way to meet other programmers that want to collaborate. Meetups are the second-best option.

</comment><comment><USER8> I was trying to do the same thing in London, and so posted on my local Clojure user mailing list, it worked really well. More so in fact if you're happy to help people with their own project ideas, rather than your own.

</comment><comment><USER4> Great question, feeling the same way here in Chicago! It's getting colder now, but would love to meet up with like minded people who want to create things.

</comment><comment><USER9> Have you gone to any of the hackerspaces in the area? Noisebridge is a great one in SF.</comment>


The Navy Says Those UFO Videos Are Real - <AUTHOR> https://www.popularmechanics.com/military/a29073804/navy-ufo-videos-real/ <comment><USER2> This must mean aliens are real, and the Storm Area 51 meme was started by the government. They can't tell the public that aliens exist because there is an ancient contract. But, if the public were to storm Area 51 and discover it for themselves - the government can't take the fall when the angry aliens come back asking why the secret got out. They've released this information in an attempt to reignite interest in storming Area 51.

I wish I was crazy enough to believe my own theories. Or crazy enough to stay off HN making alien theories when my database is on fire.

</comment><comment><USER3> Any prototype aircraft that is too fast to get good video of and does not have a recognized transponder will be a UFO. That just means some contractor is building great things and doing publicity stunts, perhaps for funding?

<comment><USER4> I seriously doubt a contractor would be pulling "publicity stunts" involving the military. If they were caught, they'd be in prison for a very long time. Violating military airspace is beyond illegal.

<comment><USER3> Perhaps the military gave them permission and these are publicity stunts for darpa investors.

<comment><USER4> The Navy and DOD held meetings with and briefed congressional members and Trump over the issue. There is no way they would have lied to congress and the executive branch for a "publicity stunt".

</comment></comment></comment></comment><comment><USER5> Doesn't mean UFO's are real, just that these unidentified flying objects have been recorded.

But then, is this a disclosure that UFO/aliens are real?</comment>


Breaking all the Eggs in C++ (2015) - <AUTHOR> http://scottmeyers.blogspot.com/2015/11/breaking-all-eggs-in-c.html <comment><USER3> For the transition from Python 2 to 3 the Python team released just such a conversion tool, aptly named "2to3." [1] This was better than handy but the transition from 2 to 3 was still lengthy and painful. In practice many of the suggested changes were unnecessary or at least needed human review (e.g. suggesting changing "for n in range(1,11)" to "for n in list(range(1,11))". Thanks, 2to3, but that code is still correct and actually faster with the iterator version of range().) Another problem was that, just like it says on the tin, 2to3 produces a version of code that _only_ runs under Python 3, whereas most library authors during the transition time wanted a version that would run under _both_ 2 and 3 a la the six[2] library.

So while a one-way automated refactoring script sounds like a good idea, and is strictly better than just breaking backwards compatibility and expecting everyone to deal, it wasn't an unqualified success for Python.

[1]: [https://docs.python.org/3/library/2to3.html](https://docs.python.org/3/library/2to3.html) [2]: [https://pythonhosted.org/six/](https://pythonhosted.org/six/)

<comment><USER4> Python has the additional problem of being highly dynamic, though!

In C++'s case, the transformation tool has much more information, so more things are possible to do.

E.g. let's take the ".erase" case from the article. In python, a method

        def foo(bar):
            bar.remove(baz)

can't simply change "remove" to "erase", because it has no idea what type "bar" has.

A C++ tool sees

        void foo(std::list<sometype>& baz)

and can then safely change "remove" to "erase".

<comment><USER5> I think that breaks down as soon as templates are involved, which is very pervasive in C++ codebase.

Given

        template<typename T, typename sometype>
        void foo(T<sometype>& baz)

It's not so straightforward anymore.

<comment><USER6> It can still apply the operation anytime a specialized object is defined. (This is how templates are compiled, right?)

</comment></comment></comment></comment><comment><USER7> You can't remove features from a language, that creates a new language instead. The transition then takes _years_. Haven't people realised this since the Perl 5/6 and Python 2/3 transitions?

<comment><USER8> I'm a little bit surprised to see this coming from scott meyers, who I generally assume to have much better judgment than I do when it comes to c++.

I would think (or at least hope) that there are not many new projects being started in c++ these days. with this assumption, it seems like the main focus for c++ today should be on adding features that enable developers to incrementally rewrite old code with a view towards increased safety. range- based for is a great example of this. a large portion of unchecked vector accesses within loops can be trivially rewritten with range-based for to be much safer, and a small team can simply fix them one by one as they quash bugs.

on the other hand, removing NULL all at once in a legacy codebase could be almost impossible for a small team. I've seen many unfortunate instances where the code actually relies on NULL being the integer '0'. fixing this kind of thing across thousands of files would be an absolute nightmare.

I am certainly sympathetic to the idea that the code that will be broken by these types of changes is sloppy and should be rewritten anyway, but this is unlikely to actually happen. most resource-constrained teams are just going to freeze their projects at c++yy and never benefit from any new features.

edit: I partially retract this post. the gradual 10-year deprecation process he specifies seems reasonable enough. I still question whether making c++ less confusing to newcomers is a good use of resources. there's really not a lot of situations where it makes sense to start a new project in c++.

<comment><USER9> > I would think (or at least hope) that there are not many new projects being > started in c++ these days.

I would imagine there are fewer new projects in C++ than, say, JavaScript, and fewer new projects in C++ than old projects in C++.

But C++ is absolutely still a live language! For the simple reason that there is no alternative which can work in all its significant niches (systems, realtime, embedded, HPC) and which is mature. Rust is on its way. D could be on its way. Ada never caught on widely, for some reason.

<comment><USER10> Ada was also too slow to compile with the computer systems of the day. I remember a HW company coming on site with a demo (contained on 9 track tape, of course). Compilation of a couple thousand lines of ada took all day (5+ hours). In that era, couple of thousand lines of fortran was 10 minutes. Big difference. Ada was ahead of it's time. Still the language of choice when you care more about non-functional requirements.

<comment><USER11> > Compilation of a couple thousand lines of ada took all day (5+ hours). In > that era, couple of thousand lines of fortran was 10 minutes.

And a couple thousand lines of Turbo Pascal was 10 seconds! XD

</comment></comment></comment></comment></comment><comment><USER12> If everyone just runs a static analyzer after compiling you could have best of both worlds. For example the tool would complain if you don't use 'override'. Problem is that not everyone runs the same tool. So at work I would like to compile with (for example) -Wconversion (warn about implicit conversions that lose precision). But this is impossible because Qt headers raise so many warnings on this. And because C++ has no module system I can either 1) fix all of Qt or 2) don't add the warning and keep writing old C++. I think you can guess what I will do.

<comment><USER13> you can just include Qt with -isystem instead of -I, it will disable warnings for those headers

<comment><USER14> Definitely recommend using -isystem for third party libs such as Boost, ACE, QT, Protobuf, etc. I strive for warning free code in my own, but dont have much control over the libs I use. Warnings from Protobuf are especially annoying due to Googles ill-thought-out disregard for signed/unsigned comparison (and their bullshit rationale in their style guideline) and continued use of NULL/0 as a nullptr constant (they only support C++11 and greater, no reason to not use nullptr now). I strive for clean compilation with "-Wall -Wextra -Wzero-as-null-pointer-constant -Werror", but alas, hard to implement after the fact in legacy code.

</comment></comment></comment><comment><USER15> Anyone who has programmed with Objective-C (or Swift) for years knows Apple's language deprecation cycle. Write code one year, the next year you are flagged with a deprecation warning -- Xcode of course will help you upgrade your code. Your unchanged code will probably work for another year and then suddenly it is an error. The "magic wand" of Xcode / Clang helps you thru this transistion. Apple likes to break eggs.

<comment><USER16> Has Objective-C been deprecated? I was under the assumption it's still fully supported. It obviously won't see the same level of updates, but it's also been around for a longer period of time to mature.

I honestly like Objective-C and prefer it, but I have been using Swift mostly for the iOS projects I have done in recent year or 2. Mostly out of curiosity though.

<comment><USER17> Obj-C has not been deprecated. And in fact the only parts of Obj-C itself that have actually been deprecated were during the migration to "Obj-C 2", where a slew of runtime functions (that nobody used) were removed, as well as direct access to the `isa` pointer (I don't actually remember if the `isa` pointer access was removed when Obj-C 2 was introduced or later when we got tagged pointers).

What the parent is likely referring to is APIs from the SDK, which do get deprecated, and then years later (many years later) removed.

<comment><USER18> > a slew of runtime functions (that nobody used) were removed

Hey, class_poseAs was useful :(

</comment></comment></comment></comment><comment><USER19> Scott Meyers overlooks one problem with his quest to kill backwards compatibility: upgrading compilers is a no-go for many safety critical codebases. The re-certification of the code for released products would have to be repeated in its entirety - a sneaky bug or behavior change in the new compiler might introduce any number of issues. That isn't going to fly for cost reasons. This effectively freezes shared code between products at these ancient language standard levels.

</comment><comment><USER20> Discussed at the time: [https://news.ycombinator.com/item?id=10562105](https://news.ycombinator.com/item?id=10562105)

</comment><comment><USER21> > Just replace the use of ++ with an assignment from true.

You can't just replace it with assignment to true directly as postfix ++ evaluates to the unmodified value; you actually need to replace b++ with something like (b?true:(b=true,false)) to avoid breaking code that uses b++ in an expression. That seems significantly uglier than just allowing b++ to continue to exist though...

</comment><comment><USER22> This sounds like a terrible idea. You can provide a way for people to opt out of legacy behavior, but don't break them outright unless you want to lose your most faithful, long-term users.

</comment><comment><USER23> > All we need is a magic wand that works instantly and flawlessly.

> That makes clang-tidy, if nothing else, a proof of concept.

More like a proof of failure. Apply clang-tidy's transformations to source code and now you've now got one gigantic merge conflict to resolve every time you merge from upstream. That's partially fixable if you script your integration, or your integrators have good checklist discipline (they don't) and apply clang-tidy to new upstream commits before trying to merge them, and you've properly documented that.

Downstream is more problematic. And in my experience, large merge conflicts like this are just begging for hard to spot bugs introduced by mismerging commits - much more common than I've noticed bugs from passing 0 to pointers or NULL to non-pointers. To add insult to injury, it'll fail to finish the job - for example, trivial edge cases like 0 being used in a macro which is interchangeably used to initialize ints and nullptrs depending on context - <USER2> now you need manual intervention to actually fix up the code enough to actually "break the egg".

Not to mention NULL in C headers, as mentioned in the blog comments, being not a great thing to get rid of.

> Experience shows that relying on compiler warnings to inform programmers > about "bad" practices is not reliable.

Get a bigger CI build matrix. This is a criticism of the implementation, and perhaps those who don't use warnings-as-errors - they have much bigger problems than a confusing 0/NULL/nullptr trifecta though. Standardize some warnings? Sure! We've been adding things like [[nodiscard]] that, while still not requiring warnings, strongly encourage them to the point of being just a hair's breadth away from standardization.

Several compilers don't even like enabling new warnings by default - hence the -Wall -Wextra -Weffc++ -pedantic -etc -etc -etc dance, which still doesn't get everything you might want. If you want to change the culture around that so we opt out of warnings instead of opting in, sure, I'm on board with that. We already have the tooling to crank those up for your own code while using more permissive settings for third party code you'd rather not modify/break.

If you can't convince compiler vendors to warn more by default, you're going to have even less luck getting them to break code by default (unless you can trick them into thinking it's an optimization).

TL;DR: We've got more reasonable, less drastic tools. Maybe push those to be used more efficiently, instead of inviting a new Python 3 fiasco. I'm sure I'm not the only person who would jump to Rust (or Go, or Nim, or ...) instead of to C++vIncompatible - because if you're going to make a breaking change, why not break enough things to make it worthwhile?

<comment><USER24> >We've got more reasonable, less drastic tools. Maybe push those to be used more efficiently, instead of inviting a new Python 3 fiasco.

Most people I know who complain about the Python 3 transition are not heavy Python programmers.

Migrating to Python 3 was certainly a pain, but not really a major one. The number of developers who fled Python because of this is miniscule. If the Python 3 transition is the poster child of "things going wrong" with backward incompatible changes, I would heartily recommend other languages make those incompatible changes.

<comment><USER25> Really?

I believe that moving a 500k loc code base qualified us as semi-heavy. And relying on packages that didn't move qualified us as stuck.

Now - don't get me wrong: i/we liked python2. There was little wrong with the language or sticking with it. But please don't think the cost of migration was a weekend of lost coffees.</comment></comment></comment>


More about startup contexts - <AUTHOR> http://swombat.com/2011/9/3/entrepreneurial-contexts <comment><USER2> Interesting post. It's really impressive how smoothly everything ended up going in Israel, especially since the government got out of the way

Now, here is the issue. I worked in public policy formation in Toronto - specifically working with developing the startup environment in Canada. Based on my experience, way too many of these programs in Canada focus on minority groups. In fact, the majority of them do.

We analyzed literally hundreds of programs created to encourage entrepreneurship in Canada and approx 75%+ of them were exclusively for natives, africans, minority females, the disabled, people in ultra rural areas, or people who plan on hiring a considerable number of these groups.

This is not to say that all programs are like this, but in my professional experience, I haven't seen a program come out that rivals what happened in Israel. The incubators that are made here are ultra conservative, typically investing only in entrepreneurs that have considerable work experience (10-15+ years) and are running a biz post revenue (most times in the 7 figures..).

In terms of making these programs, the bureaucracy is just so overwhelming (which is part of the reason that I left). It is incredibly difficult to set something up that could be acquired by private VCs with all the red tape.</comment>


Building an API on open data - <AUTHOR> https://getputpost.co/building-an-api-on-open-data-3d6f8b915b2d <comment><USER2> It's always interesting to see a web service written in perl.

</comment><comment><USER3> Geocoding might be a corner case in terms of the usefulness of open data. The most valuable data is usually owned by huge corporations with lots of users (ie Amazon, Yelp, Visa, Google). Data usually is valuable because it's compiled from the usage of many people. So the only way to really build an API from that is to scrape them.

<comment><USER4> I'd add government data, their open data portals are often subpar. For example in Germany the national weather data was made (licensed) open data this week (in German [https://www.golem.de/news/deutscher-wetterdienst- wetterdaten...](https://www.golem.de/news/deutscher-wetterdienst-wetterdaten- sind-jetzt-open-data-1708-129258.html))

<comment><USER5> It's one thing that the uk seems to do pretty well at [https://data.gov.uk](https://data.gov.uk) lots of data available. Not all in uniform format but it is at least available

<comment><USER6> Eurostat (the EUs statistics institiution) also has a lot of statistics freely available [http://ec.europa.eu/eurostat/data/statistics- a-z/abc](http://ec.europa.eu/eurostat/data/statistics-a-z/abc) with permissive license, data download in CSV and XML as well as a REST service. Their online data viewer isn't pretty, but one of the more powerful examples as well.</comment></comment></comment></comment>


FB proves Elizabth Warren's point by deleting her ads about breaking up Facebook - <AUTHOR> https://www.theverge.com/2019/3/11/18260857/facebook-senator-elizabeth-warren-campaign-ads-removal-tech-break-up-regulation <comment><USER2> Extensive discussion: [https://news.ycombinator.com/item?id=19363561](https://news.ycombinator.com/item?id=19363561)</comment>


Show HN: Chord Progressions - <AUTHOR> https://peterburk.github.io/chordProgressions/index.html <comment><USER3> Mostly good info in there, but I see a few problems:

> There is also no E#. It just doesn't exist. Get used to it. Those are the 12 > notes.

Technically not true. There is an E#, it's called F. If you are playing in F# major[1], the scale has an E# in it.

> Musicians never play notes one at a time. They always use chords.

Most lead guitar parts are not chords. Typically playing in a band context will create a chord from multiple instruments, but that isn't always the case.

[1] [https://en.wikipedia.org/wiki/F-sharp_major](https://en.wikipedia.org/wiki/F-sharp_major)

<comment><USER4> > Musicians never play notes one at a time. They always use chords.

This guy has also obviously never met the strange and rare creature known as a 'bass player'.

<comment><USER5> Also violin/string players (when not playing double stops)

Singers who are not overtone singers (pretty much everyone).

What kind of weird musician is this person limited to?

<comment><USER6> If you want to get a bit more wild, though, a lot of solo music still contains chords by implication, and can be very easily harmonically analyzed. I don't know how popular solo works are in the 20th century since atonality flung the music locomotive gleefully through the "Bridge Out Ahead" sign and into the canyon [1], but if we discount that it would certainly include almost all Western solo music.

[1]: Yes, it's an opinion. Yes, it's an informed opinion, and implying in one way or another that I just must Not Get It will not faze me. I do Get It, and that's _why_ I find it distasteful.

<comment><USER7> I used to think that, but when I had to study atonal music, it became clear to me how much of an impact it had on film music and how it shows up in fragments in pop music.

Then, I took a class on electronic music composition. For my own project in the spirit of the avant garde, I wanted to challenge myself to write something "musical" without resorting to the traditional concepts of pitch-based melody and harmony or quantized rhythm. It turns out, there are many other levers you can play with to create the effect of an musical arc. Not to pat myself on the back, but I think the end result is evocative in a similar sense as tonal music. If I had the time, I would do more.

Check it out here, if you like: [https://soundcloud.com/acjohnson/wanderers](https://soundcloud.com/acjohnson/wanderers)

<comment><USER6> If we want to play "wave the credentials" at each other, I _minored_ in music composition, and my objection is a great deal philosophically deeper than "I don't generally like how atonal music sounds". There's a parallel world where atonal music is still explored but I wouldn't characterize it as "flinging music off a cliff". Atonality was merely when the cliff-jumping occurred.

I have neither the time nor the desire to fully explain my point in an HN post, but I would note that the music community itself has been asking questions in this direction in the last decade or so, if you want to follow up on it, as the academic music community asks themselves exactly how they got to where they are now, so disconnected from the rest of the world at large and so utterly irrelevant to almost anything musically occurring today. (Not just pop music; that is structurally inevitably insipid, really, so who cares, but irrelevant to _anything_ other than their own very little world.)

</comment></comment></comment></comment></comment></comment><comment><USER8> If you want to try these chord progressions in your browser, check out:

[http://wildsparx.com/rhythatom/](http://wildsparx.com/rhythatom/)

Coincidentally I just finished it. Source is here:

[https://github.com/wildsparx/rhythatom](https://github.com/wildsparx/rhythatom)

In theory it should run in any Chrome/Chromium browser, but I've received several reports of rhythatom failing to play. Would appreciate any help or ideas.

If you look at: [https://peterburk.github.io/chordProgressions/ChordProgressi...](https://peterburk.github.io/chordProgressions/ChordProgressionsAll.txt)

There doesn't seem to be any indication of major/minor. One way to interpret that is "always use the diatonic." Which means only use notes in the key, which means chords (1,4,5) are major while (2,3,6) are minor. However songs can have non-diatonic chords.

If you look at Rhyathatom, it defaults to the well-worn 1645 progression - <USER2> 6 is explicitly minor, which makes it diatonic. Try making the 6 major and you get a different animal - kind of sinister! That's a non-diatonic chord.

Maybe the author accounted for this elsewhere.

<comment><USER9> Nice work! Am I crazy or are the pulldowns for accidentals not doing anything?

> There doesn't seem to be any indication of major/minor.

There's a line in there about capital/lowercase of roman numerals not being important, by which I hope the author meant out of scope of the article. So I think they were explicitly just enumerating the chords of the diatonic scale.

<comment><USER8> Good catch. Will fix the accidentals.

</comment></comment></comment><comment><USER10> A for effort, but as a programmer and musician, simultaneously makes me a little sad as an example of the all-too-frequent phenomenon of programmers trying to model a domain without spending enough time actually learning the nuances of the domain first.

<comment><USER11> Nuances? Try basics. Worse, the author makes a number of general statements about music that I would have known to be wrong as a 6-year old with 1 year of experience in playing piano.

Who am I kidding? This is the age of crapping some mangled mis-information out onto a blog or web page in the hope of raising one's profile and securing a job with the next hot startup creating $10k robots delivering $5 pizzas or whatever.

<comment><USER12> The author clearly and good-humoredly declares that he comes with no knowledge of music or music theory at all, and is clearly documenting his process of coming to grips with enough of those basics you may have known as a 6 year old with 1 year of experience, and is attempting to do so in order to _do something interesting_. So perhaps 'wrongness' is far less important to this than 'interestingness' and, though I am a multi-instrumentalist myself and know music well, I'd like to thank him for attempting to learn what he needed to to attempt this interesting thing. I really enjoyed the read and intend to have a little play with the data.

<comment><USER11> Ok, perhaps you are fine with letting little gems like "Musicians never play notes one at a time. They always use chords." slide, but I'm not. If I can't trust the author about the basics and things that I know about, how can I trust their reasoning or thoughts on more complicated matters and items that are outside my own domain? I cannot, and hence don't read further because there is an opportunity cost in doing so, and there are many other interesting things I could be reading or otherwise doing with my time.

<comment><USER12> Honestly I just feel like you may have wielded judgement too hastily at the expense of your sense of wonder and shared joy in someone exploring territory that is well trodden only to relatively few. Very few people have a solid grasp of musical theory. For most people, scaling what may to you be barely the foothills of knowledge is a great and challenging experience, and I think it should be celebrated.

And sure, perhaps you and I can easily distinguish the subtle difference between 'Musicians always use chords' (obviously wrong) and 'Musicians always work, individually or together, within a key, which is an abstracted but well- defined set of tones that can be combined in time series or simultaneously to produce an inexplicably pleasant experience in the listener, by some neurological magic that has never been adequately explained' (non-obviously correct) but y'know what, I actually _am_ willing to let little gems like that slide because they're adequate approximations of the truth that allow good folks to proceed on a journey that may one day lead them to, just maybe, have the arrogance required to belittle the uninitiated.

<comment><USER13> > Very few people have a solid grasp of musical theory.

This is just like saying that very few people in the world have a solid grasp of computer programming... Do you know that there are hundreds of university departments in the world where the only thing people do is, wait for it... having a solid grasp of musical theory!?

<comment><USER12> How is that not 'very few people' in a sample that includes the population of the Earth?

<comment><USER13> Not everyone if the world is trying to create a computer model of music. The minimum a person with this interest can do is to contact a specialist in music theory (of whom there are thousands as I mentioned).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is nice as a diary of some hacking, but much of the musical commentary is misleading. Basically the author has enumerated all the unique ways of selecting the numbers 1..7 four times with replacement, and then done various mechanical translations on the results. Ostensibly this is done to enumerate all possible four-bar chord progressions, though in practice the results are highly redundant (i.e. many results are musically identical) and incomplete (many possible chords aren't included - e.g. secondary chords).

Then rather than distributing the scripts the author presumably used to do the enumerating and translating, they are distributing the outputs of the scripts, as a huge tarball full of midi files. Not sure what the motivation here was.

<comment><AUTHOR> The script is in there! Chord Progressions.scpt.

If you can read AppleScript, go ahead and use it.

The way I see it, most people prefer to take existing data (e.g. Kaggle datasets) and build machine learning tools on that, instead of having to compile everything from source and make their own data.

<comment><AUTHOR> If you want me to port the code to a more popular programming language, please tell me which one.

Rust? JavaScript?

C#? ;-)

</comment></comment></comment><comment><USER8> In the Parsons Code section, if I'm reading correctly, the chords are conceived along an up-down axis. However chords do not really have that relation. Going from 1maj to 5maj can be up a fifth or down a fourth.

To illustrate this, first listen to the default 1645 progression on rhythatom. Then change the octave of row 2 (4maj chord) from +0 to +1. Can you hear its similar role in the progression, even though it's now stressed by being up an octave?

<comment><AUTHOR> I talked about this with my friend Lenard, because I was confused why the Parsons code would be different for the same chord progression.

He then explained that I should move the key, and when I transposed the MIDI table, the Parsons codes all became the same.

I then asked him, is it possible to move up an octave for just one part of a chord progression? He said yes, it's possible, but people don't do that often. Normally people wait until the end of a chord progression to change octave.

<comment><USER9> Talking about going up or down an octave here is just nomenclature. Musically speaking, changes in a chord progression don't go up or down - this is because roman numerals refer to _pitch classes_ (like C, E, G), not to specific pitches (like C4, E5, G3).

The matter of which notes to play for a given chord is called "voicing", and it's orthogonal to anything mentioned in your article.

</comment></comment></comment><comment><USER14> Another correction: > The notes in "Cm" are C,D#,G.

It's actually C Eb G. The difference is that D# is an augmented 2 while Eb is a minor 3. They sound the same but they have totally different functions.

</comment><comment><USER15> Remember there are different scales, too. Those 12 notes aren't the only notes.

[https://en.wikipedia.org/wiki/Scale_(music)](https://en.wikipedia.org/wiki/Scale_\(music\))

<comment><AUTHOR> Everything can be brought back to MIDI though, right?

<comment><USER16> Yes, but only with pitch bends. For example the Great Highland Bagpipe is tuned to a just intonation scale, which commonly approximates A Mixolydian (neither a major nor minor scale). (It's actually 3 pentatonic scales overlaid, but let's not get into that...)

Some info: [http://publish.uwo.ca/~emacphe3/pipes/acoustics/pipescale.ht...](http://publish.uwo.ca/~emacphe3/pipes/acoustics/pipescale.html)

Getting that to sound right in MIDI requires the use of pitch bends, since MIDI only understands 12 tone equal temperament.

</comment></comment></comment><comment><USER17> I would invite the OP to read a basic book on music theory, any good undergrad-level text should do, before stating some of the "facts" he is making, which are just untrue.

For one thing, the author is confusing physical pitches with musical notes. C double-sharp exists and is enharmonic to D, for example, because the frequencies are the same. But these are very different notes in a musical context.

There are many examples of this in the article that would be cleared up by a basic understanding of music theory that all music students complete, many of whom do this in piano lessons growing up long before graduating from highschool.

I admire the effort, but I often see people analyze music from a perspective that is not actually that of a musician, and there are always huge gaps in the understanding that needn't be there if they sought a basic knowledge of the matter.

Example:

> For some reason I don't totally understand, some have 2 names (e.g. C#=Db, > D#=Eb, F#=Gb, A#=Bb).

Fair enough, you don't understand this, so that should be a clue that more knowledge is necessary before making this claim:

> There is also no E#. It just doesn't exist. Get used to it. Those are the 12 > notes.

Incidentally, it goes much further than this, and for good reasons. F is the same pitch as E# and G-double-flat, but all three are distinct musical notes which serve different purposes.

There's also C-flat, B, A-double-sharp.

And B#, C, D-double-flat, etc.

</comment><comment><USER18> Putting aside the rest of the nits here, there are two things that stick out in my mind. First of all, what he calls 4-chord songs are really more "4-bar songs" (which given his restriction of one chord per bar end up being at most 4-chord songs), but we should be clear about the distinction between the tones being played and the duration of those tones.

Second, I don't know if this is an artifact of my fluidsynth setup or not, but when I translate his midi files into WAV files the 6 and 7 chords are from the octave below, which sounds odd to my ears. If we're listening to, say, 126.96.36.199 we shouldn't drop down an octave at the 6.

<comment><AUTHOR> You're actually using the data! That's really encouraging.

It's probably a bug in my script. How do I know which octave to choose?

If you can explain it to me using the Parsons Code method, I think it's easier for me to understand. 22.214.171.124 is udud, right?

<comment><USER18> I have no idea how you generate the MIDI file, but let's use the piano keyboard to describe what I'm hearing. When I play the WAV files from your progressions and we get to, say, an Amin chord, the Amin sounds like it is lower in pitch than the the Cmaj chord. This is OK, but it means that the 6 chord sounds an octave lower than I'm expecting it to.

My ears aren't trained enough to know if what I'm hearing is an inversion where you're playing the A note in Amin from the same octave as Cmaj but you're also playing the C and E notes from the same octave, or the A note itself is lower in pitch than the C. I would have expected to hear an Amin chord where the A note was a whole step above the G in Cmaj, and the C and E both higher than the A note.

</comment></comment></comment><comment><USER19> Wow, great job on this for being someone who dosn't play an instrument. Seriously. Sure, there are some kinda not exactly right things, but sheesh, maybe you should make your own instrument! This is a great way to teach people about machine learning in a friendly way. Keep adding to it. Obviuosly you know there is random music- you were just speaking of songs. And You seem to know about blues, so you probably also know about rhythm changes and stuff? If not- check that out- see also Donna Lee.

</comment><comment><USER20> "There are 30 keys"

You could make the case that there are 12 keys, or some multiple of 12 keys, or near-infinite keys. But 30? Pretty random!

<comment><AUTHOR> Are some of those keys duplicates of each other? Or missing?

I could be wrong - I just guessed that from another data source (some PDF song sheets that have the key listed on the top right).

</comment></comment><comment><USER21> > That means every song in the world sounds like one of those 81 codes!

Yeah, every 4-chord repeating song.

</comment><comment><USER22> "Musicians never play notes one at a time. They always use chords."

Today I learned playing literally any brass instrument means I'm not actually a musician. Who knew that my knowledge of the trombone ain't actually musicianship? ;)

Otherwise a great article.

</comment><comment><USER23> Harmony in modern music has become homogenous and it's getting worse. I would think the best use case for this is to feed it modern chord progressions in order to inspire musicians (or machines) to avoid using these same harmonic tropes.

</comment><comment><USER24> Anyone remembers Pachelbel Rant? First time I got aware of this topic. [https://www.youtube.com/watch?v=JdxkVQy7QLM](https://www.youtube.com/watch?v=JdxkVQy7QLM)

</comment><comment><USER25> When you realize how the current "mapping" of piano keys makes everything confusing and how it historically developed, it looks like musician version of "JavaScript", i.e. a really crappy standard, where you can do anything but in a really unpleasant way. Map your scales directly onto launchpad/push/circuit, and you never get a wrong note. Moreover, the equal temperament makes all sounds slightly disharmonic, so even a professionally tuned concert grand piano sounds rather bad and unauthentic, different to what original classical composers intended (they used harmonic tuning where transposing by one key changed harmonics completely unlike with prevailing standard today). If you do acid trance, it's OK though.

<comment><USER26> > Map your scales directly onto launchpad/push/circuit, and you never get a > wrong note

If you mean "map your notes so that you can only play the 7 diatonic notes of your major scale", well, then sure it's impossible to play "wrong notes", but it's also impossible to modulate to different keys, to play secondary dominants, any modal mixture, to add chromaticism, etc.

Similarly, as I understand it one of the advantages of equal temperament is that it allows you to modulate to any key within the same song. Of course if you never modulate you should just use just intonation in your key.

<comment><USER25> With equal temperament you actually don't modulate precisely, so there is always weird disharmonic sound every single time. As I said, for some electronic music subgenres it's a welcome feature; it would shock classical composers if they ever heard such a version though. Have you ever thought why do you need to state scale at the beginning of a classical piece if you can just easily transpose song to whatever scale you like? Well, those scales sounded differently and each composer was exploring what sounds best in a given scale.

Watch this:

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

Ever played on a top end concert grand and thinking it sounds weird? Then tried a different tuning and being shocked how much better it sounded?

<comment><USER26> > it would shock classical composers if they ever heard such a version though

I am not sure what you are saying. What tuning system are you claiming composers like Bach, Mozart, Chopin and Shostakovich wrote keyboard music for, that playing their works in modern 12-tone equal temperament would "shock" them?

<comment><USER25> From the discussion on the video link:

"There is a misconception that Bach supported equal temperament because of his famous 1722 collection, Das Wohltemperierte Klavier (The Well Tempered Clavier). Bach's clavichord was not equally tempered, but well tempered, like the title of the work says. The 48 pieces, two in each major and minor key, were written to show the character of each key in this temperament, the effect being completely lost in equal temperament. One can experience this by tuning a keyboard to well temperament, and then transposing Bach's Prelude and Fugue in C-major to C#-major, and vice-versa. The results will clearly show what the master was up to, and that the pieces were written for the nuances of each key with its particular coloring. Bach's theoretical framework was for pure intonation, and his music was written to be played in pure intonation, either by altering the tuning of the keyboard for each piece, or by using a flexible temperament that allowed pure tones in most popular keys."

"Equal temperament, a tuning which disfigures the natural intervals of the harmonic series, was invented as a necessity to the mechanical and engineering limitations of Middle Age instrument builders. But now we are in the 22nd Century and we can accurately measure the 1000th part of a millimeter. So why don't we use this technology to create in-tune musical instruments?"

I strongly recommend to read that discussion, it has both pros and cons of equal temperament and people are discussing the issue from both sides.

<comment><USER27> That's incorrect.

Equal temperament is very recent. Medieval through Baroque used a system of temperaments called meantone that began with C major being in tune, and then distorted tones slightly in order to make the proximal keys usable. Choosing a key in meantone implies a real difference in what the relative distance among notes was. When you go out beyond three sharps, it becomes very distorted. Five sharps is essentially unusable in meantone systems.

Bach's well tempering was a replacement for meantone where all the keys were usable. We don't know exactly what it was, though there have been some interesting attempts at reconstructing it. I remember being in the orchestra for the Bach four harpsichord concerto as a demonstration of one such attempt, which was _wild_.

As for using technology to create in-tune musical instruments, the original one, the voice, already has that. For keyboard instruments, there have been all kinds of crazy ones built over the centuries that have many more notes to an octave to allow much more precise intonation. But that's not the core restriction. I mentioned elsewhere in this thread that the pitch a given note maps to changes during a piece of music if you don't have tempered instruments involved, and those changes are always compromises.

So I wouldn't suggest reading that discussion, as it's apparently full of inaccurate material.</comment></comment></comment></comment></comment></comment>


Explore Mann's climate projections from Scientific American - <AUTHOR> http://puzlet.com/m/b00h2

<comment><USER2> Much better in chrome/safari. SVG rendering issues in FF/IE. (I am a dev).</comment>


PilBox – Building Mobile Apps in PicoLisp - <AUTHOR> http://firstname.lastname@example.com/msg07233.html <comment><USER2> > An Adroid SDK project is a monster. Here, on my installation, the "PilBox/" > folder contains more than ten thousand files!

It's sad when a clean slate project for a platform created when we should have known better decades ago still ends up with this kind of overhead.

It perfectly matches my recollection of doing Android development too: a big uncontrollable mess of different kinds of files whose inter-dependencies and relations are completely opaque.

</comment><comment><USER3> Another good option if you want to write Android apps in Lisp is lein-droid [1] which allows you to use Clojure on Android. This means you can use any standard Android API, library or SDK in your app without additional bridge components.

The initial build & deploy times for Clojure on Android are annoying, but using a REPL to edit your Android app dynamically is amazing.

[1] [https://github.com/clojure-android/lein- droid](https://github.com/clojure-android/lein-droid)

<comment><USER4> You can also use ClojureScript on React Native for both iOS and Android. Lets you use things like reagent or re-frame that work well with persistent data structures. It's actually super easy with Expo, which makes it so you don't have to do any Xcode or Android Studio stuff: [https://docs.expo.io/versions/v14.0.0/guides/using- clojuresc...](https://docs.expo.io/versions/v14.0.0/guides/using- clojurescript.html)

<comment><USER5> I would highly recommend this! I use re-natal and it lets you target Android and iOS (simultaneously if you really want to) with live code reloading and native UI elements. Reagant + re-frame is a very pleasant setup for UI development and handling data flows.

<comment><USER6> You mentioned doing an app with re-natal around 3 months ago - did you succeeded with it? Sorry for spamming here, no email on profile ;)

</comment></comment></comment></comment><comment><USER7> I have been following the dev of PicoLisp for a long time; Alexander is great. He keeps going strong for decades. He keeps the PicoLisp platform going with additions like this. Impressive.

</comment><comment><USER8> I'm still super shocked that Google doesn't expend more effort to get more languages running on Android.

It feels like a no-brainer for them to want straightforward usage with, say, Python. Is it really a performance thing?

<comment><USER9> No, it is a political thing.

I guess the Java bias is very strong among the ex-Sun and ex-Danger OS developers that have joined the team since the early days.

You see this on Google IO presentations from the last couple of years, when the audience asks about alternatives, including existing JVM languages.

<comment><USER10> With the legal issues they have had with Oracle, I'm surprised they didn't move on from the JVM/Java much earlier.

<comment><USER9> Well, they started them, by not wanting to play ball.

And since I expect someone to post Jonathan Schwartz public comment commending them, here goes what Gosling had to say about it.

"We were all really disturbed, even Jonathan just decided to put on a happy face and tried to turn lemons into lemonade, which annoyed a lot of folks at Sun."

[https://www.wired.com/2012/04/gosling- slime/](https://www.wired.com/2012/04/gosling-slime/)

Companies like IBM, Atego, Aicas, MicroEJ, Excelsior, ARM among many others, never had known issues dealing with either Sun or Oracle licenses, while providing their own Java compilation chains and hardware specific APIs.

</comment></comment></comment></comment><comment><USER11> From looking at the the Java files in the linked tarball as well as the documentation[1], it seems that PicoLisp calls Java by sending serialized messages through pipes from a separate processes and then invokes the Java reflection APIs.

So trying to use this to build an Android app with the native (i.e. Java) Android UI libraries probably wouldn't work too well, right?

[1] [http://picolisp.com/wiki/?javacode](http://picolisp.com/wiki/?javacode)

</comment><comment><USER12> Always good to see PicoLisp on HN.</comment>


Getting Started with Ember Data - <AUTHOR> http://andycrum.com/2014/06/02/getting-started-with-ember-data/

<comment><USER2> I think Ember and Ember Data are extremely interesting, but there are definitely some caveats to using Ember/ED over other MV* JS frameworks or rolling your own persistence layer.

I think this post does a good job of mentioning them, but I would also mention that a _huge_ caveat I came across in a personal project (after I developed my API, of course) was that ED and Ember.Route don't support nested resources in APIs they consume. This means that you can't use conventions like /users/1/posts in your API, you have to use shallow resources (i.e., /posts?user=1). This is definitely a trivial detail if you haven't yet designed your API, but is kind of a pain in the ass if you don't know that going in and design your API with nested resources first (as I did).

</comment><comment><USER3> Is Ember Data considered stable yet? Last I'd heard it was in a beta state but was starting to be used in some production environments.</comment>


New dev release of Sublime Text 3 - <AUTHOR> http://www.sublimetext.com/3dev <comment><USER2> According to this blog post: [http://www.sublimetext.com/blog/articles/upgrades](http://www.sublimetext.com/blog/articles/upgrades) he expected to ship ST3 in 2013. As someone else mentioned, its been 6 months since the last update - Has there been any mention of an updated release date for ST3?

<comment><USER3> I've been in touch with Kari recently regarding the Net Awards Ceremony (I'm representing them on Friday in London) and I've been told that Jon is heads down working on it. I believe and trust Sublime PTY on this.

This release is bigger than some people are giving it credit for.

</comment></comment><comment><USER4> One of my favorite things that Atom does better than ST3 out of box is its git integration, especially in the tree view [1].

Adding sidebar icons is exciting because it paves the way to similar functionality (either out of box, or via plugin) in ST3.

[1] [http://blog.atom.io/2014/03/13/git- integration.html](http://blog.atom.io/2014/03/13/git-integration.html)

<comment><USER5> Indeed. Hopefully the developer of [https://sublimegit.net](https://sublimegit.net) will add support soon.

</comment></comment><comment><USER3> I've taken a bit of time to look through the new sidebar icons feature, and explained how it's working [http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15971](http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15971)

For everyone who is saying "oh, how big can a sidebar icon implementation be????" well read one of my forum replies: [http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15915&s...](http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15915&start=30#p59982)

There is more to it that just adding an icon, I'm sure.

</comment><comment><USER6> Well, this is refreshing. With all the "Is ST3 abandonware??" threads out there recently, this is welcome news.

That said, only four items on the release log in 6 months? And sidebar icons, at that? Not that I think you need to crank out a new version every six months, but... I wonder what's been going on there since Christmas.

Hope this is just a sign that they're getting back in gear and we'll get some improvements soon!

<comment><USER7> The following will answer some of your questions about what has been going on: [http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15477&p...](http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15477&p=58951#p58951)

<comment><USER8> Said every dying product ever (and, to be fair, some non-dying ones).

</comment></comment></comment><comment><USER9> The author should absolutely do what he wants, there is no problem with that, and I don't claim entitlement to anything beyond what I paid for. The only problem I have is with lack of a minimal status update. I don't expect blogs, emails, honestly not even support from the author. Only a tweet "I'm taking a break for now, will continue when feel better." This is what Ryan Bates did with railscasts, and I respect that. Then again, I don't even claim entitlement to this type of tweet, it just would be a decent thing to do. Saying nothing signals abandonment, while "I'm taking time off" signals exactly what it says.

<comment><USER10> As a _paying_ customer I _do_ expect support and that includes at least a brief explanation as to what is happening with the product in the longer term. A tweet. A simple one line update on the website. A forum post. Any of those would be fine even if, like you said, it is just to say "I am burnt out, I am taking 2014 off". I am disappointed that if he has returned to work on the project that we just get a silent new dev build without any kind of information about the future.

<comment><USER11> I'm a paying customer too. I'm ok with the minimal support. It was only $70. Just release when it's ready, even if it's only once every 2 years.

</comment></comment></comment><comment><USER12> I'm wondering if the release of atom.io started a fire...nothing like a healthy dose of competition?

<comment><USER13> The _major_ thing that ST has over Atom is that it's cross-platform. I develop on a Linux machine most of the time, so learning how to use Atom efficiently is completely out of the question for me until they bring out a Linux release.

<comment><USER14> Well, it also fully works and its fast.

Atom is a proof of concept at the moment. I don't even expect a "html5 based editor" getting prevalent.

</comment></comment></comment><comment><USER15> Wasn't Sublime created because he hated how TextMate 2 never came about? Or was it just got popular then. Because it felt like the former.

</comment><comment><USER16> Hopefully ST3 comes out soon, but in the interim Sublime Text Editor 2 is perfectly fine. In-fact, I wouldn't even care if ST3 didn't even get released because ST2 does the job more than fine as it currently stands, I don't even know what could be improved with exception of out-of-the-box GIT integration, maybe embedded Node.js too. But you can do all of that stuff via plugins now anyway.

Lets stop blowing this out of proportion for just a moment. You paid for an editor and you got an editor: Sublime Text 2. Sublime Text 3 will be a separate purchase and as far as I am aware, Jon hasn't taken any more money for something he hasn't released yet. So what is the issue here? Lets appreciate what we already have, which is an awesome and highly featured editor.

<comment><USER14> > _Hopefully ST3 comes out soon, but in the interim Sublime Text Editor 2 is > perfectly fine._

Better than that: ST3-dev has been perfectly fine for over 6-8 months -- and I've even use package control, 8-10 add-ons, custom themes and everything with it.

</comment></comment><comment><USER17> It saddens me that this is news. I really wish a modern editor like this was more actively developed. It just seems like 5 months and 4 small items in the changelog is insufficient for sustainability.

<comment><USER14> Well, on the other hand:

1) ST2 worked perfectly all this time.

2) I've used ST3 (dev builds) extensively and professionally for a year with no problems whatsoever, including package management, add-ons, custom themes, linters, etc.

3) It's far more likely he took a break working on it for those 4-5 months, and those "4 small items" just represent stuff he changed after he started again (recently), and not what the actual future pace of development.

</comment></comment><comment><USER18> My reaction to more ST development these days is kind of "meh", given that Atom is undergoing actually-active development (what with changelogs longer than four items over whatever number of months), doesn't require mucking around with plist files for syntaxes, and actually allows for development of custom sidebars and other UI elements.

<comment><USER19> I'd be more on the Atom boat if it didn't still feel like the base installed packages were lacking. Having to install a package to get Atom to correctly indent Ruby was awkward, coming from Github, a Ruby shop. That's been fixed now, but speed issues, and the file search(Cmd+T) is just awful.

It's definitely getting better but I've moved back until it's further along.

<comment><USER20> For me there's also the huge structural flaw of using RegEx to parse large chunks of text for syntax highlighting, etc. while blocking the UI thread.

You can't open large text files easily. To me, pretty important in a text editor.

</comment></comment></comment><comment><USER21> Be aware that the dev builds requires a license key, while the regular beta builds [1] do not.

[1] [http://www.sublimetext.com/3](http://www.sublimetext.com/3)

</comment><comment><USER22> Loading indicators won't stop spinning. Oh well, I don't use the sidebar anyway.

<comment><USER3> That's down to the theme. It needs updating to learn about the spinners. [http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15971](http://www.sublimetext.com/forum/viewtopic.php?f=2&t=15971)

</comment></comment><comment><USER23> I just hope that emacs 24.4 comes out soon :)

</comment><comment><USER24> I've got my hopes on NeoVim with support for embedding.</comment>