Hacker Newsnew | past | comments | ask | show | jobs | submit | more typedweb's commentslogin

AutoDesk has 123D Modeler[1]. I'm not sure which printers it works with, but it probably uses the Spark platform[2] for the actual print drivers.

    [1] http://www.123dapp.com/design
    [2] https://spark.autodesk.com/


How about syntactic extensions:

    (defmacro unless (test &body body)
      `(if (not ,test) ,@body))


That's a theoretical problem, not a real world problem.


I'm not quite sure how being able to extend syntax is a theoretical problem. It was just a basic example for brevity.

There are many more examples of macros that solve real world problems, such as writing a compiler for an embedded DSL that is tuned to solving your real problem that allows expressivity and brevity that you would never see without the use of macros.


A lisp macro is a code transformer run by the compiler using the full features of the language to generate code.

Macros allow for the arbitrary evaulation of it's arguments (rather than the standard left to right order before a function call), allowing you to do syntactic extensions without the added boilerplate that functional languages can require.

Essentially, each macro allows you to define a mini-language that is parsed by the compiler that returns code that is then compiled. It takes a while to groc, but once you do you can never really go back.


Same with conditions and restarts.


The title reminds me of a book I used to have years ago called 'Writing Bug Free C Code for Windows'. It was a great and not windows specific all all, covering object systems and all the nooks and crannies of the language. It was on par with some of the Lisp books I have regarding coverage of language features. Highly recommended for those interested in what you can do with C, but I'm sure it's impossible to find these days.


>The title reminds me of a book I used to have years ago called 'Writing Bug Free C Code for Windows'.

Actually this is a link to that book..


D'oh. Guess I should read the article sometimes before I comment :)


It might ease your mind knowing that your lisp mention made me mirror the webpages. Maybe if you read it beforehand you'd write a different comment, and I'd never read it myself.


Probabilistic programming in Common Lisp:

https://github.com/nikodemus/screamer


Not really. Screamer gives you "nondeterministic" programming. It can be used for example to solve sudokus: http://nikodemus.github.io/screamer/sudoku.lisp.html


The system I'm developing is a message passing system, so I've looked mostly at PubNub's pricing model to get the idea for a tiered system. Mine is going to be a lot smaller at the start and it's only me running it so I'm looking at the least hassle and maintenance for collecting fees.


So what are the competitors?

A really simple message passing system is http://aws.amazon.com/sqs/pricing/

first million free, then 50 cents per million after that. I suspect you will do something fancier and cost more...

Personally when I look at services like this, I look for 2 things.

1) Free tier. Not time based, but volume based. If some prototype takes me 3 months to write, I don't want to run out of a free demo 2 weeks in.

2) Does pricing scale in a sane way? Or does it go free... free... free... $5,000 a month! If I see an insane price scale, I will also avoid something. I always price something vs doing it myself.. and for a smaller app, I could never afford 5k so why even mess with the product.


Thanks for the info. I've done some research on competitors and I'm trying to find the correct pricing vs my costs for the system. This is my first web service so I'm really just trying to figure out all the details on something simple that I haven't seen provided yet and go from there. Hopefully some people will find it useful, but I realize I have to keep my pricing in check but my costs in balance.


lose, not loose.



It's reversing the encryption, not the hash.


Where in the original example was encryption involved? The salt and pepper were only ever used in a hashing algorithm.


The pepper is the key to the encryption, not a hashing algorithm.


Thanks for just ignoring my question - THERE IS NO ENCRYPTION IN THE ORIGINAL ARTICLE, so WHY are you restating that encryption is involved at all?

Straight from the original artical:

  hashed_password = scrypt(password, salt + pepper)
or

  hashed_password = scrypt(scrypt(password, salt),pepper)
Absolutely zero encryption going on here. Therefore, no ability to "decrypt" the pepper result. The pepper IS NOT a key for encryption. Period.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: