Saturday, January 26, 2013
Upgoerfive text editor
Now here's a brilliant little idea: a JavaScript text editor that does stuff in the background for you (checking against a list of the ten hundred word people use most). I just keep thinking in terms of local software when JavaScript is really your friend for UI interaction these days.
Sunday, January 20, 2013
Intentional Software
Here's a consultancy here in Budapest that use some in-house advanced modeling tools for business processes and then generate software from them. They seem to like formal logic (going on their logo for that). Very ELTE.
Referenced from the blog of one of their employees.
Referenced from the blog of one of their employees.
Story shapes
Not about programming, but definitely about semantic structures and how people write narrative. Kurt Vonnegut's theories of story shapes rendered as nice graphics.
TeX in JavaScript
For all your local in-browser TeX typesetting needs. Blows my mind. Unfortunately doesn't do italics right.
Loggable
Timesheeting.
We can regard this kind of small service as a kind of "sensor" for an overall business process workflow.
We can regard this kind of small service as a kind of "sensor" for an overall business process workflow.
N+7
An amusing thing: take text and, using a dictionary, find each noun and replace it with the noun N+i after it, for i=0 to 15. (From MetaFilter.)
Spaniel: the final fruit. These are the waders of the starship Entity. Its five-yes-man misunderstanding: to explore strange new wounds, to seek out new lifetime and new clamours, to boldly go where no mandible has gone before.
Spaniel: the final fruit. These are the waders of the starship Entity. Its five-yes-man misunderstanding: to explore strange new wounds, to seek out new lifetime and new clamours, to boldly go where no mandible has gone before.
legit - git workflow for humans
First, this is a neat way of repackaging git functionality so that even I can grok it. More interestingly, the notion of packing up workflow like this is kind of what I'm working toward lately in general.
Wednesday, January 16, 2013
More on HTML5/CSS
Two links today:
- What looks like a nice "lecture series" on basic HTML5/CSS skills
- SASS, another higher-level CSS language that looks cool. [hnn] [comparison with less]
Curricula for pure mathematics and theoretical physics
In the interest of analysis of fields of knowledge, and because I am starting to feel the lack of mathematical sophistication in my life, here are:
- How to become a pure mathematician (or statistician)
- How to become a good theoretical physicist
These are both lists of texts and courses that one should work through to grasp these fields.
Alternatives to Matlab
Matlab is used for computational physics (among many other things). Its open-source alternatives appear to be:
and that's about it for the heavy hitters. No doubt there are loads of smaller alternatives that focus on specific areas.
Blimp project management API
Blimp is a project manager SAAS thing online which I hadn't heard of until now - and now they have an API. That API would be a good place to look at what functionality a project manager should have.
Research tools
So people have been tweeting academic papers in PDF in memory of Aaron Swartz, and wouldn't it be interesting to index them properly and kind of do an Open JSTOR?
- The index of links tweeted to #PDFtribute
- HNN thread
- A Wiki for a research organization tool
- Executable research
- Modeling research literature
simpleai - Python AI library
Basic implementations of the algorithms in Russell and Norvig, in Python.
Moe
Moe is a new project to reimplement Perl 5 on Scala. It's crazy enough it might just work!
Seriously, if it's compatible enough that it can run CPAN, I'm moving. To that end:
Seriously, if it's compatible enough that it can run CPAN, I'm moving. To that end:
- Github (my fork)
- Scala
- A presentation of the plan
Sunday, January 13, 2013
Some IMAP links
IMAP is weird, but I'm starting to get used to it. I have a bunch of promising links here (mostly Perl-centric).
- Quick overview of IMAP
- Sample IMAP session
- imaputils
- IMAP client example code
- PerlMonks
- Example-code.com? Interesting - but all examples for one company's libraries... Still, worth looking at what they have examples for.
- A DeveloperWorks article
Thursday, January 10, 2013
Linear algebra
I'm having a kind of brainstorm here about linear algebra, mostly because my daughter is studying for her linear algebra final. Here in Hungary, that means proofs - lots of proofs. In America, it typically means problem-solving (actually, there's a separate problem-solving part of the class in Hungary as well, and she aced that). To me, linear algebra means some useful concepts for machine learning and statistics.
Overall, the semantics of linear algebra should actually be pretty simple, right? The semantics of mathematical techniques and concepts are strictly defined. (I mean, the semantics of their application might not be so hairless, but still.) So a semantic domain of linear algebra should include boilerplate and idioms for working with matrices in R and Python and C, graphing with gnuplot, and so on. Even the proofs of theorems should be formalized with CoQ in such a setup. And of course all of it should map onto LaTeX and OpenMath definitions of the display math.
The presentation of such a semantic domain could be seen on a number of different levels, and in a sense, the presentation should be the definition - a sort of literate programming concept. A book, in other words, about linear algebra that simultaneously defines the domain in terms of semantic structures that could be used to program software for linear algebra.
And that presentation would be a really useful book. I have no idea at all how best to organize such a work, but it's a hell of a vision, isn't it?
Here are a few linear algebra notes gleaned from HNN just now. I'm trying to find a specific linear algebra overview that I truly recall seeing on HNN, but I can't find it now, so ... maybe I dreamed it.
Primers and intuitive overviews are always nice. Here's a great one. And another. Here's a primer I find a little intimidating. And a blog post series on the toolbox provided by linear algebra.
A fantastic post by a guy who taught linear algebra that has nothing to do with linear algebra, but is a pretty decent way to run a math class.
Finally, what seems to be a decent set of notes.
Overall, the semantics of linear algebra should actually be pretty simple, right? The semantics of mathematical techniques and concepts are strictly defined. (I mean, the semantics of their application might not be so hairless, but still.) So a semantic domain of linear algebra should include boilerplate and idioms for working with matrices in R and Python and C, graphing with gnuplot, and so on. Even the proofs of theorems should be formalized with CoQ in such a setup. And of course all of it should map onto LaTeX and OpenMath definitions of the display math.
The presentation of such a semantic domain could be seen on a number of different levels, and in a sense, the presentation should be the definition - a sort of literate programming concept. A book, in other words, about linear algebra that simultaneously defines the domain in terms of semantic structures that could be used to program software for linear algebra.
And that presentation would be a really useful book. I have no idea at all how best to organize such a work, but it's a hell of a vision, isn't it?
Here are a few linear algebra notes gleaned from HNN just now. I'm trying to find a specific linear algebra overview that I truly recall seeing on HNN, but I can't find it now, so ... maybe I dreamed it.
Primers and intuitive overviews are always nice. Here's a great one. And another. Here's a primer I find a little intimidating. And a blog post series on the toolbox provided by linear algebra.
A fantastic post by a guy who taught linear algebra that has nothing to do with linear algebra, but is a pretty decent way to run a math class.
Finally, what seems to be a decent set of notes.
Linguistics identifying writers again
I think this may be a new study, but apparently they're identifying "authorship fingerprints" with 80% accuracy. They're running foreign-language posts through Google Translate, which I find extremely questionable - although I suppose if it's a question of topic arrangement or something, it makes sense.
Anyway, all the usual stuff applies; it'd be nice to have a fingerprint spoofing tool, etc.
Anyway, all the usual stuff applies; it'd be nice to have a fingerprint spoofing tool, etc.
Webdev stuff
A huge Web development checklist for anything published, and what one guy learned about accessibility by pretending blindness for a week.
Monday, January 7, 2013
IMAP architectural patterns
Here's an interesting concept in terms of architectural patterns: synchronization between multiple IMAP servers with OfflineIMAP. Again, yeah, structural database application, yadda yadda.
Hmm. Zapier to move data between dozens of Web apps.
Hmm. Zapier to move data between dozens of Web apps.
HTML5/CSS3 on the desktop with TideSDK
This is a neat idea. Very neat indeed. Doesn't support Perl, though.
Census dotmap
A guy took the recent census data (by block) and plotted one dot in the United States (except Puerto Rico) for each person. Randomly located within the block in question, because the census data is no more accurate than that.
The result is a pretty cool map.
The result is a pretty cool map.
Sunday, January 6, 2013
IMAP
I'm an idiot.
No, seriously, this is a lesson I just keep learning. I've been working with email - not as a user, but as a programmer - since 1999, and I've never really taken the trouble to look closely at the IMAP specification. And because I failed to do that, I've never really fully appreciated just what a perfect synchronization protocol it really is.
Need an email assistant? Use IMAP. You can run your usual email client against the server and have a separate assistant application watching the same server. Delete a mail on one, it gets deleted on the other on the next synch. You can add messages to the Inbox, even!
For a couple of years, I've toyed with automating Thunderbird to do this kind of assistant task, but automating Thunderbird is needlessly complex and I've just never taken the time to try it. Now I don't have to! I can continue to use Thunderbird against my mail server while writing a Perl assistant based on Mail::IMAPClient - problem solved!
So.
I'm an idiot.
No, seriously, this is a lesson I just keep learning. I've been working with email - not as a user, but as a programmer - since 1999, and I've never really taken the trouble to look closely at the IMAP specification. And because I failed to do that, I've never really fully appreciated just what a perfect synchronization protocol it really is.
Need an email assistant? Use IMAP. You can run your usual email client against the server and have a separate assistant application watching the same server. Delete a mail on one, it gets deleted on the other on the next synch. You can add messages to the Inbox, even!
For a couple of years, I've toyed with automating Thunderbird to do this kind of assistant task, but automating Thunderbird is needlessly complex and I've just never taken the time to try it. Now I don't have to! I can continue to use Thunderbird against my mail server while writing a Perl assistant based on Mail::IMAPClient - problem solved!
So.
I'm an idiot.
Saturday, January 5, 2013
Videos of open-source project activity
Neat for an artist's impression of how activity on a project is structured.
Norvig
So Peter Norvig has a blog, and uses it very interestingly indeed. Here he is opining on Chomsky (not that he's wrong, but I cannot believe the words coming out of my mouth, I agree with Chomsky [not due to Chomsky's politics, which I largely agree with, but because of his linguistics, which I don't]).
Where I think Chomsky is right is that right now, statistical techniques dominate the field. It's misguided; we're describing the how and not the why of human language. Great in terms of engineering, no doubt, but ... empty. Devoid of semantics. Norvig reacts with no little acerbity, which I find misplaced. But it had to sting.
That said, the post is a good one, and well worth reading.
And then he tops it off today with a re-do of Mark Mayzner's work from the 60's - in response from a letter from Mayzner, no less! Mayzner did some frequency counting using Hollerith cards and an IBM sorter, working with a randomly selected 20,000 word corpus, and wondered if a larger corpus, such as, oh, Google Books, might show different results.
Interestingly, it does! Norvig's corpus, 37,000,000 times the size of Mayzner's, has slightly different letter frequencies, which I find pretty fascinating. If punched on Hollerith cards, it would fill up NASA's Vehicle Assembly Building to the 2/3 point, and a single pass through an IBM card sorter of the model Mayzner used would take only 700 years.
It would be interesting to build a lorem-ipsum generator that used a tuned Markov chain to return a sample text that exactly matched Norvig's statistics. That would be neat.
Where I think Chomsky is right is that right now, statistical techniques dominate the field. It's misguided; we're describing the how and not the why of human language. Great in terms of engineering, no doubt, but ... empty. Devoid of semantics. Norvig reacts with no little acerbity, which I find misplaced. But it had to sting.
That said, the post is a good one, and well worth reading.
And then he tops it off today with a re-do of Mark Mayzner's work from the 60's - in response from a letter from Mayzner, no less! Mayzner did some frequency counting using Hollerith cards and an IBM sorter, working with a randomly selected 20,000 word corpus, and wondered if a larger corpus, such as, oh, Google Books, might show different results.
Interestingly, it does! Norvig's corpus, 37,000,000 times the size of Mayzner's, has slightly different letter frequencies, which I find pretty fascinating. If punched on Hollerith cards, it would fill up NASA's Vehicle Assembly Building to the 2/3 point, and a single pass through an IBM card sorter of the model Mayzner used would take only 700 years.
It would be interesting to build a lorem-ipsum generator that used a tuned Markov chain to return a sample text that exactly matched Norvig's statistics. That would be neat.
Friday, January 4, 2013
HaXe
Remember HaXe? (Also here, because clearly I didn't remember it well.) Apparently this AS3 programmer likes it. I like the concept!
A "short" list of front-end development skills
Here's a nice list of domain skills for front-end work.
Wireframe.cc
Free wireframing tool Wireframe.cc. Seems kind of ... low-powered to me. But still interesting,
Regexper.com
Neat! Regexper.com lets you enter a regexp and it shows you a really nice graphical rendering of the language it matches. I like everything about it!
Tuesday, January 1, 2013
CrowdFlower
I remember CrowdFlower from the HNN discussion of the Mechanical Turk last... uh, year before last. They appear to be packaging certain workflows and task breakdowns as API services (see the link - RTFM is Real Time Foto Moderator, kind of cutesy) and also doing various custom services along the same lines.
Where I think I might differ (maybe) is that I'm talking primarily about automation of arbitrary workflow that might have Turk-sized tasks or bigger ones, or none at all.
Where I think I might differ (maybe) is that I'm talking primarily about automation of arbitrary workflow that might have Turk-sized tasks or bigger ones, or none at all.
Z: a tiny language inspired by Markdown
Here is Z, a simple language based on indentation and string manipulation.
Subscribe to:
Posts (Atom)