skysight-inc/HackerNews huggingface dataset:
I'm not a huge TDD person, but do appreciate the value of tests around software. This may be a dumb question, but are there any testing tools for Excel? I don't think people would write tests before adding/modifying data and such, but... are there any testing tools that allow you to ensure that your macros and data do what you're expecting, even after changes?

I do not by any means write enough tests for my code, but I have some projects where I've got tests around parts of code, and occasionally I catch regressions when I make changes because of a run of the tests (if I had more tests I'd probably catch more over time).

I've never seen anyone writing custom functionality in Excel that even understood the idea of tests or test/sample data. That is probably a bigger issue with Excel - it encourages people to just throw stuff together and 'start hacking' - with live data, often the only copy of said data - and not understand the potential consequences. Of course, you've usually got a backup of yesterday's data because it's sitting in your inbox, because often Excel files are just emailed around to people, which perhaps encourages yet another sense of 'security' around the process.
Or, in human terms, you can eventually find your car in a 2D parking lot, but not a 3D parking garage (as per Seinfeld http://en.wikipedia.org/wiki/The_Parking_Garage)
Depends. At my old job, they had a ton of spreadsheets in accounting. Most of them required manual data entry of stuff that we had in the database. Most spreadsheets took 1 ~ 2 days of manual data entry by a single person... per month! Even more when it was time to close a year or a quarter.

Needless to say, when upper management turned over a bit, there was a big push to get rid of all of this wasted time. (I know of at least one person from Accounting that quit because of the mandatory evenings and weekends just to get necessary things done)

Not to mention the addition of complex rules with little to no documentation. Sometimes these spreadsheets are created by someone who knows Excel macros, then they move on, leaving others that don't know anything about it to run it. Maybe new requirements come down, and they poke around it at it to make it seem like things are ok, but they miss an edge case... etc. Not that this doesn't happen in the programming world too, but in the programming world we try to tackle these issues as part of honing our craft. In (e.g.) the accounting world, it's just a necessary evil to get done and over with.
A clause in Prolog is a predicate that is true when its conditions are met, i.e., can be seen as a single conditional in itself. Furthermore, there is pattern matching (unification, even), which was declared cheating in the post. Fibonacci examples would use this, just as the Erlang example in the post. There are also if-then rules (the -> operator), which I find makes code clearer. The same trick described in the post could be implemented in Prolog I suppose.
maybe you can check out http://psd.tutsplus.com/
As far as I am aware, the business world has been using Excel for a lot of things for quite some time now, why is it suddenly something we should all be worried about? Excel in capable hands is a strong and multi-purpose software application that is proven to work. It's not merely just a spreadsheet application, Excel allows spreadsheets to be shared around and viewed by people who don't even own Excel.

Should we be worried about driving cars and flying in planes because they're so complicated internally errors are easily hidden? A bad mechanic will always blame his tools. There is nothing wrong with Excel and just because errors are easily hidden doesn't make it a bad program to use. I'm sure error rates are pretty low anyway.
Something like this exists for Windows/Mac. Not sure about Linux. http://www.bluestacks.com/
FYI: this is unreadable on my WP8 device. The screen width is set smaller than the text width so I have so scroll left and right for every line.
While you're at it, I think the piece: A critical review of the literature on spreadsheet errors by Powell, Baker, and Lawson is a valuable read as well. Here's a free copy of it: http://mba.tuck.dartmouth.edu/spreadsheet/product_pubs_files...
you could start a whole company just writing macros to stream-line work for other corps

Oh, quite a lot of companies started that way. Many of them still do it exactly like that.

Worse: for a while the trend was clearly "all these Excel sheets are terrible, let's replace 'em with <SHINY_NEW_CENTRALISED_WEB_SYSTEM>!", but now established web-based software products are busy touting their wonderful Excel add-ins that seamlessly push data back-and-forth from spreadsheets.
Well, email is not app, nor is browser addon.
However, apps that use email or browser addons could very easily register with Subtome (see the Developer section) so that if you used them, they'll show up.

We also have added Blogtrottr as a default, and yes they provide emails...

Again, SubToMe will not show you a foot long list of services, just the ones that you used in the past (thru the registration mechanism) or a couple default ones to get started.
How Users Organize Their Apps And What App Designers Can Learn From This
I think the easy fix for this (for the benefit of the poster) is to use a meta tag to set the "viewport" attribute to 100%.
actually they can be very helpful - because you can be looking at old information through a new lens
This would be very useful for the web app directory I'm building at https://starthq.com. At the moment I attempt to retrieve a higher resolution logo by pretending to be an iOS device via the User Agent header and pulling out the apple-touch-icon meta tag value.
I'd say go with Laravel. Nothing in the PHP world provides it's level of convention over configuration with such an easy learning curve. The up and coming version of Laravel called Illuminate, is seriously upping the ante. It's bringing an insane level of modularity that gives you the ability to hot swap core framework components in a manor similar to Ruby on Rails' Railties. I used to hate PHP, then Laravel came along and that all changed.
Automate Your Development Environment With Vagrant
Chakra Linux 2013.02 Benz released with KDE 4.10
Test your code in a Workspace before editing your classes. Depends on the complexity of the change you are making of course. If it is complex, clone the image and test on the clone.
How long after your last payment to the credit card company does it take until they pursue a lawsuit? Do most (all?) wait 4-5 years before they file a lawsuit? Is there a table that shows roughly what percent is paid for debt by collectors over time? For example, you say they probably paid less than $200 to acquire debt 4-5 years old. What about debt that is 2-3 years old or 3-4 years old?
DNA Storage Can Fit All Earth's Data On Pocket-sized Drive
It seems impossible to talk about Big O without comparing sorting algorithms. I guess this is because every college course on the planet compares sorting algorithms for half the semester.

If you have code which does a database query, parses some result and then generates HTML based on that; this is an algorithm. If your Javascript walks the DOM finding elements then that is an algorithm.

These things all have associated computational costs which will scale depending on the input size.
Why the dislike? It's not a bad protocol.
Excel is like dynamically typed programming languages.

It gives fast positive feedback.

It gives very slow, often quite spectacular, negative feedback.
I think it is more instructive to realize that certain (most?) problems rely on conditionals conceptually. You could then work around them by effectively implementing conditionals anew and spreading code over smaller functions, but the algorithm is still conditional in nature. I am also curious about the relation of conditionals to other constructs. Is the for loop disallowed because it checks for the end of the loop? But it could be implemented with a map over a range, which does no such check (assuming range is a primitive operation). In this way conditionals can be eliminated by recruiting a variety of possible constructs, but it all depends on the rules you're setting.
This kind of hot-swapping can be achieved on quite a few languages; certainly Perl and Ruby in addition to JS, and I'm sure there's a dozen more languages that allow you to redefine at runtime. The difference is that Smalltalk made hot-editing
the default.

SmallTalk is an uncommon language these days, with the exception of its half-descendant, Objective-C.

Ruby borrows Smalltalk's OO semantics pretty much completely. Just sayin'
Wherefore art thou, Lotus Improv?
My Thoughts on Happiness, Statistics, and Living with Higher Purpose.
"The world runs on Excel, and we should be afraid"

Ah. No SQL. No Java. No C#. No webapps. No JavaScript. No IT economy (Apple, eBay, Google, FaceBook, Oracle, SAP, etc.: they're all running on spreadsheets producing what? Spreadsheets of course).

Corporate drones use Excel. The corporate world represent less than % of the GDP. Hence:

"The world runs on Excel, and we should be afraid".

Perfect linkbait title. Well done. I'm sure the spike of trafic thanks to HN has been noticeable.
I generally agree with you, I really do (I code, myself, professionally, or, well, have until very recently) – but I think that your wish that everyone learn to code is missing a few things.

First, what people are doing in Excel is coding.

Second, they do it because Excel is, thus far, the best environment available for lowering the (many) barriers of entry that are perceived as blocking one from learning to "program".

Therefore, in my never to be humble opinion, we'd also be wise to try to figure out a way of helping build in testing methodologies into excel. I think it wouldn't have to be that hard. Imagine a testing mode or a test overlay that you could toggle on and off, allowing you to identify input and output cells, setting test data and expected output, etc.

The crucial thing is that the best work on this front would have to come from Microsoft, if it has to be in Excel. One possible fix would be a testing environment that reads .xlsx files – build something great, sell it to managers and MSFT will either buy it or, more likely, imitate it.
I'd of like to seen the lambda calculus way of defining conditionals.

Let True = (λ x y => x)
Let False = (λ x y => y)

Then to do an if, you just apply the conditional
((λ x y => x) 1 2) ---> 1
((λ x y => y) 1 2) ---> 2

It's funny, really. Pure lambda calculus can feel a lot like a object oriented message passing style.
I really think Dotcom is making all of the right moves here. I remember reading a multitude of comments from people on various sites saying that he would rip people off with his "vulnerability reward program" but here we are, Dotcom is putting his money where his mouth is and paying out the money. Mega is definitely a rising force and once the kinks are ironed out, Hollywood should be very scared.
You might want to take a look at Ansible. It purports to be simpler to get going with than Chef/Puppet.
Nice. So AFAICT, this improves over the 'usual' way of running linux on android as it shares the filesystem instead of using a chroot, meaning the linux side has access to everything. But X still can't run via android so it uses a remote desktop server/viewer. I guess this means that when connecting via HDMI the resolution of the external display will be limited to what the phone does? (because it will just be showing an android RDP app) is there a way around this?

AFAICT the linux system is fully functional (native performance, latest browsers etc should work fine?), but unaware of android's presence. What is holding us back from doing the whole ubuntu-for-android-esq experience? - ie, linux boots when HDMI connected, android then lives inside an app in linux, and android notifications are shared to the desktop linux? and no RDP limitations. FYI this system is available to users of motorola phones of a certain age (atrix-d.razr)[1], with issues (at least the ubuntu version i tried; old ubuntu and unable to install eg. the latest browser versions).

The polished version of concurrent linux+android has massive potential, IMO.. although this looks like a good step forward, subject to ubuntu still not releasing anything of their u4a!

1.
ubuntu: http://forum.xda-developers.com/showthread.php?t=1281528
gentoo: http://forum.xda-developers.com/showthread.php?t=1617684
Dont blame Excel. Those people were running a scam. And from my experience with people who run banks, its actually not even a little bit out of the ordinary to have completely bullshit calculations spitting out numbers that look good.

The problem is that economics is not a science, and finances are designed to enable power plays. We need to apply real science and technology to problems rather than letting a bunch of suits run around scamming everyone.
Meanwhile, on Android, MAME is freely downloadable from the Play Store, with 500000 downloads and no danger of imminent removal.
Exactly, I'd love more interactivity but you can pry my plain text source files from my cold dead hands. The smalltalk environment was way too magical and too easy to mess up when I tried it.
http://dribbble.com

http://news.layervault.com
Posted Monday, October 15, 2012 2:26 am

Things move quickly, I don't know how relevant this is now, especially with the latest (last week's?) version of Chrome for Android.
Regular person here who learned to code using VBA with Excel and Access to build spreadsheets and "dashboards" (oh the suits love "dashboards"!!) to track sales for what grew to be a half-billion dollar book of insurance business. The problem with all the "professionals" is that they take forfuckingever to get anything useful and usable to you when you're trying to run an actual business. Plus, you have to sit on endless conference calls trying to explain to some "professional" why you want to see the data the way you want to see it, not the way that's easiest for them to program. And building out the specs. And following their painful changelog process. And waiting some more. And know they're getting paid more than you even though a lot of the time they leave at noon on Friday.

If you want people to use your "professional" code, learn something about how to get it done now. The people who are making it happen right now don't have time for all this. Not everything needs to be engineered - not even the small chunks of the global financial system I have dealt with.
Check out Seaside, the Smalltalk web framework. It has a edit-in-the-browser mode, where you can pretty much edit anything to make your web app work. Seaside itself is a component-centric framework, not page-centric as most web frameworks are. You build independent components, which you place here and there to make your app.
Great to see LK come up here. Yes, the approach of Lively goes towards what is mentioned in the article, right now however, the client session (what you run in the JS VM in your browser) is what the image is for Lively. We developed a persistence mechanism that will read/write a JS object graph so that your working state of your session can be saved and resumed, just like a Smalltalk image [1].

We are currently experimenting in distributing LK runtimes in nodejs instances so that basically a network of active runtimes can be created that communicate / exchange objects.

Note that the core development moved to github [2].

[1] http://www.hpi.uni-potsdam.de/hirschfeld/publications/media/...

[2] https://github.com/LivelyKernel/LivelyKernel
In my experience the very best way to develop design chops is to get a sense of the kind of design you like, and then let that influence the look and feel of your own projects.

At first you will be copying other peoples' style and that is okay. As you proceed and improve you'll start doing your own thing. Great artists steal, etc.

Of course, without your own projects, you'll get nowhere, as has been pointed out.

Design it Yourself is a pretty good read:
http://amzn.to/UV6jFV

As an aside, there's very little of the camaraderie/collaboration you're probably used to from the hacker world in the design world. (Though http://hackdesign.org/ looks rad!) No one has written The Cathedral and the Bazaar for design yet. Know that upfront and you won't be surprised when designers act more afraid than excited at the prospect of unskilled hackers trying their hand at design.

Don't buy into the suggestion you need to worship 'the masters' of graphic design to learn to do your own thing. The web is not just paper that you can click, it's a new medium. You'll learn as much studying design on the web as you will from books.
It's some risk, I guess. But I was interested specifically in what you had to counter pilif's most recent post. I guess either I was too unclear or you don't have a counter.
Similar story as https://www.padmapper.com/. It's sad that craigslist isn't willing to either update their application or allow someone to make it more useful for their customers.
Go to art school, like I did. Hahahah. No, I'm kidding, don't. But do become educated about the past. Buy some books. I recommend starting with Paul Rand http://www.amazon.com/Paul-Rand-Steven-Heller/dp/0714839949 I love that book. I'll never let go of my copy.

The most important thing is not to focus too much on current trends. They're mostly bullshit that will be forgotten fast. The reason I say study the past is because everything old that has been documented is actually worth studying. It's "stood the test of time," if you will.

I think a lot of designers today focus too much on what's happening NOW, reading today's blogs and knowing the trends and whatever. So they go make things with an extremely narrow perspective and think they're designing when really they're retracing the only thing they know.

People don't know nearly enough on say, 50's modernism. Or the Bauhaus aesthetic. Watch the Eameses' films. Know the greats. Respect them. Broaden your awareness. Graphic design was huge before computers.

Then apply the broad ideas you absorb from that to the medium you're working in. That's my advice. There's no Stack Overflow for design. It doesn't work the same way as programming. You're not going to become a good designer by visiting websites.
By making the logo universally available via a complete URL (not relative), one may copy the format of the authentic web page to create a duplicate and the logo would still apply.

Of course, this can be circumvented by using whitelists, but then those can be compromised as well.
I'm really surprised something like EuSpRiG exists. Then again I'm really happy it does.
This.

I just finished a 5 week long project revolving around replacing an Excel
sheet filled with a bus load of macros. Now the client has a web based solution that can use the excel sheet as an optional data import medium, but not be beholden to it.
Still the growth is too high. You can't tell me Bitcoin grew 50% just because one small company that does 0.5% of the transactions appeared on the market. I'm pretty sure it will drop under $18 in a month or two.
From the interesting submitted article, "After subtracting the old rate from the new rate, the spreadsheet divided by their sum instead of their average, as the modeler had intended. This error likely had the effect of muting volatility by a factor of two and of lowering the VaR . . ."

This astounding story is a really nasty example of why "always comment your code" is a good idea--but only if someone else with knowledge of business logic reviews the code.
I build custom apps based heavily on what is described here - http://onsmalltalk.com/sandstonedb-simple-activerecord-style... (more towards the bottom).
Lena's opinion on the matter is not really the point - the criticism is along the same principle as exemplified here: http://martinfowler.com/bliki/SmutOnRails.html
I'm excited to see this come up again on Hacker News (I'm the guy proposing it). I would love for this to be an opportunity to improve my proposal. I originally put up the site over a year ago, and it has since been rejected by Microformats. I think there is room for improvement by offering variations of logos (grayscale, knockout, etc) and some way to referencing guidelines. I'd like to revisit this in hopes that it sees some larger adoption.

As a side note, for anyone interested in further thinking on this, I've discussed it on this podcast: http://onthegrid.co/post/40903339954
(discussion starts at 29:20)
If I use this, will my app be rejected from the App Store?
Until the last few years, I think I was of the mentality that would follow (C) or (B), but have recently switched to (A) -- just ship it and fix whatever's not perfect later; the opportunity cost of not shipping is too high.

Facebook's motto reminds me of something from a Holman slidedeck: "Nothing great was ever not shipped."
Where did you find 300 proposal number? didn't see that in the blog.
Safe and Efficient Shared Memory in Dynamic Languages
Would you care to elaborate, rather than be glib?

QuartzGL runs all Core Graphics on the GPU[1]. It's only available on OS X.

If you can show me evidence that some API on iOS runs Core Graphics on the GPU, I'd be happy to know. I do a fair amount of work running Core Animation, CG and OpenGL at the same time, so it would be a big help.

[1] - http://www.cocoawithlove.com/2011/03/mac-quartzgl-2d-drawing...
One of my earliest memories of "programming" was fucking around with seed files for that map generator. It was very algorithmic, not pre-made.
iFunbox is great, free, and works on both OS X and Windows.

Highly recommend it, it's what I personally use.

Also - note that this build of Gridlee is equivalent with MAME 0.139u1 - so when looking for ROMs, you may need to lookup the ROM on http://www.mamedb.com/ to see what version of MAME compatibility for your ROM/game was introduced (especially for newer arcade games).
Digital Signatures, Authentication, and rubygems-openpgp [video]
SLIME+your favorite dynamic language is a tactical nuclear weapon of a programming tool. I just wish there were a more OS X-y port of Emacs...
I'm not sure that this abuse would have much negative consequence. Am I missing something?

Let's say I copy the Google homepage and in the <head> there is a reference to http://google.com/logo.svg
How does that create any more problems than already exist?
You can even do it in Java with Eclipse (Notch did it during his screencast), although I don't know the specifics.
The book you really want for this information is "America's Public Schools: From the Common School to "No Child Left Behind" by education historian William Reese.
Can you make a native IOS app using Phonegap?
Any mathematician will agree: mathematics is invariant under change of notation.
Excel has far worse problems in the financial sector than this. Among other things Excel's thread-safety is flakey, which when you're importing a realtime price feed into excel turns out to be fairly important.

Most of the time your spreadsheet even if it has perfect logic will fine, until some weird race condition gets hit the price being loaded gets transposed and you model gives you a wildly wrong answer which you then trade on.
The fault is not in Excel, which is an excellent piece of software. All the problems identified are the fault of poor math.

After the London Whale trade blew up, the Model Review Group discovered that the model had not been automated and found several other errors. Most spectacularly,

“After subtracting the old rate from the new rate, the spreadsheet divided by their sum instead of their average, as the modeler had intended. This error likely had the effect of muting volatility by a factor of two and of lowering the VaR . . .”

It's not like programmers are immune from making such errors. You can put the wrong equation into a page of C or Java as you can onto an Excel spreadsheet.
Adobe issues emergency update for Flash