HNHacker News
TopNewBestAskShowJobs

_sh

614 karma · joined February 25, 2009

submissionscomments
_sh··on Half an operating system: The triumph and tragedy of OS/2
Yeah? My reading of that book was that there was such an inhuman marriage/life destroying crunch getting NT out the door that nobody covered themselves in glory, much less showed themselves worthy of respect.

And it explained to me, in clear terms, why Windows was such a buggy pile of shit. It was created of its culture.

_sh··on 33 Questions
No, answering randomly is not okay. You will not be able to reproduce the bit string if there is a random answer any more than two source texts with a single bit changed between them will produce the same hash.
_sh··on 33 Questions
If you don't evenly divide the remaining population of the earlier questions, you'll need more than 33 questions.
_sh··on 33 Questions
The interesting nature of the problem is that you can't just 'eliminate swathes', your question must evenly divide the entire population.
_sh··on Stuxnet's Secret Twin
The industrial controllers were not connected to the internet. Part of Stuxnet's sophistication was crossing the air gap via USB sticks that were infected through two never-seen-before 0-day attacks, the infamous shortcut icon attack vector, and autorun trojans.

Why were the control systems running Windows? Because it has a GUI. This helps when monitoring control systems, and of course is the only platform Siemens' monitoring systems run on.

_sh··on Syntax Off (2012)
Is using <h1> and <h2> tags syntax highlighting for text?

Personally I program Clojure, so there's not a lot of syntax to highlight--well, more than in scheme, for example--but I couldn't imagine life without brace matching (a dynamic kind of syntax highlighting).

_sh··on Happy Hour Virus
I love any technological approach to getting me to the bar sooner.

I've always wanted a 'timed SMS' app where you can queue up text messages and set a time to send them. That way you can be enjoying happy hour while sending off 'stuck late at office' and 'leaving soon' messages without thinking about it.

Even better would be an app that plays background noise during your phone calls: airports, offices, taxis, stadiums. Dial up where you want to be for your call. Great for the 'still stuck at office' call, provided you could drown out the noise of the rowdy bar you're in. Last I checked, Android didn't have an API for that.

_sh··on A spreadsheet in fewer than 30 lines of JavaScript, no library used
If anyone else is wondering why formula evaluation is not working in Chrome, it is because jsfiddle is violating Chrome's security policy by serving up the javascript from fiddle.jshell.net (not jsfiddle.net).

When this javascript code attempts to access the LocalStorage API, Chrome (rightfully) steps in and says: nope. This may be a new security feature, but is present in Chrome 30.0.1599.114 on Fedora.

_sh··on Why You Should Never Use MongoDB
Nice. This is exactly what I mean when I talk about ORMs. See how everything's nicer when its an API?
_sh··on Why You Should Never Use MongoDB
No. SQL is actually pretty third-rate at expressing data and relationships. My preferred way of expressing data and relationships is the programming language I am writing in.

The problem with SQL is that it is not an API, it's a DSL. Which usually means source-code-in-source-code, string concatenation/injection attacks, and crappy type translations ('I want to store a double, what column type should I use? FLOAT? NUMERIC(16,8)?'). Even as a DSL it's pretty low-brow: just look at how vastly different the syntax is between insert and update, or 'IS NULL'.

For all those who love SQL, consider having to address your filesystem with it. Directories are tables, foreign-keyed to their parent, files are rows. There's a good reason why this nightmare isn't real: APIs are preferred over DSLs for this use case. And so too for databases, because they are the same abstraction.

Don't get me wrong, I love relational algebra and the Codd model, but SQL just aint it. SQL has survived because of its one and only strength: cross-platform. And like all cross-platform technologies, such as Java bytecode and Javascript, its rightful place is a compilation target for saner, richer, more expressive technologies. This is why I always use an ORM and have vowed to never, ever, write a single line of SQL again.

_sh··on We Work Remotely – New Job Board from 37 Signals
"Unfortunately my current employment contract precludes me from discussing my salary. I'm sure you understand and have similar policies yourself. However, a ballpark figure would be north of $[desired-salary]."
_sh··on Science has lost its way, at a big cost to humanity
It's OK, the silicon valley companies and other private sector institutions who have benefited so much from investment by the DoD and ARPA are ready to address any investment shortfall to the sciences, right?

I mean, investing in a startup that has a value proposition based on real scientific research is the same as investing in the research in the first place. Am I right?

_sh··on No Ordinary Violence
While, from an outsider's perspective, Islam has had its share of splinters and factionalism in its past, Islam has not yet suffered its great upheaval, denial, disillusionment, search for meaning, angst and ultimately abandonment that Christianity suffered through the age of enlightenment.

Seriously, all the horror that is perpetuated in the name of Islam reminds me of the crusades. And all that nonsense should have rightfully ended in the middle ages.

_sh··on LightTable 0.5.5 released
I use it exclusively for all my clojure work and have been for a while. It works well, and especially shines with its REPL integration, and when paired with Leiningen. Chris really has done a great job at keeping things minimal and elegant.

However, I use it because I'm a vim user and clojure has never had stellar support in vim (whereas Light Table--or rather CodeMirror's editor--has vim bindings). If you're an emacs user, Light Table might not offer anything over existing emacs tools.

_sh··on MongoDB Raises $150 Million at $1.2 Billion Valuation
Lighten up. The submitter identified exactly the line and commit that enabled crashing all mongo deployments with a 16-byte post (I presume, from the report). Considering the circumstances, I congratulate the submitter on being so whimsical.

  if (strcmp(buffer + position + 5, "$ref") == 0) { / DBRef */
Seriously?
_sh··on Slashdot redesign is now in beta
I do my sleeping at work, you insensitive clod!
_sh··on Programming is a Terrible Job
Why can't you? It's not like you have to quit your current job to find a better one.

My advice to anyone who doesn't like their job: please don't come to work in a shitty mood all the time, bitch and moan, and spread your poison around. You don't have to love your job, but quit making excuses and being lazy and go get yourself one you will love.

_sh··on Show HN: Send Secret Messages over Twitter as Public Tweets
Instead of using a corpus, why not select tweets from a list of followers and re-tweet them? This would make your encoded messages more like a natural twitter stream. You could curate followers lists to be themed around a subject (tech, gardening) to make them more naturally align with the rest of your twitter stream.

Edit: oops, this idea was already mentioned by akkatirk elsewhere in this thread.

_sh··on How to Get a Job With a Philosophy Degree
Here's how I started with my freshly-minted philosophy degree:

"Philosophy teaches abstract thinking--how to manipulate and reason about purely abstract concepts; how to logically construct and analyse models of world (and being-in-the-world)."

I probably kissed a little arse too.

_sh··on Ask HN: Is underestimating a chronic IT project problem?
It used to be for me, until I made two changes to my technique.

1. Give a confidence value: 'this can be completed in x hours with 50% confidence, or y hours with 85% confidence (where y > x)'. If you don't want to work in 'confidence percentages', translate that to a range: 'this can be completed in x/2 - x*1.5 hours'.

2. Never, ever quote on something you've never done before. Does the project require using a new API? Write a small, isolated test application that uses the API in similar ways. This will sharpen your confidence value. If you don't have time to exercise all the parts of the project you've never done before, shrink your confidence value but explain why: 'this can be completed in x hours with 20% confidence, but with a little more preparation time, I can get you a more accurate quote'.

Most importantly: be professional with your quotes. Don't take on too much just to be the hero who moved mountains and saved the day. No-one will thank you if you do (after all, you're just doing your job), and your professional image will take a dent when you don't. Also, as soon as you realise you can't make your confidence value, don't keep it to yourself. Yes, you'll piss people off by lagging the project, but the alternative is much worse. Not speaking up when issues arise is an ego problem (similar to being the hero who moved mountains).

Yes quoting is hard, but is required. Don't worry, developers are not the only ones who struggle with it. I work for a (non-software-) engineering firm that is currently taking a $1.6M+ bath (and rising by the hour) because they botched the quote process. Shit happens all the time.

_sh··on Show HN: Wit – Natural language for your app
> How we do it is not really what matters to our developers, as long as it works :)

How you do it is most certainly what matters to developers, as soon as it doesn't work as expected :)

_sh··on A new breed of Chrome Apps
Actually, it's just what I was looking for in this announcement from Google. We currently deploy our internal apps on phonegap, and I want the snappy and the APIs that Chrome offers over the stock webview.
_sh··on How not to check the validity of an email address
This was news to me.

http://programmingpraxis.com/2009/08/13/the-daily-wtf-malici...

_sh··on Javscript Is Eating the World
It says a lot about the value of cross-platform and zero-deployment that developers put up with Javascript and HTML as an application development platform.

It also says a lot about what is not valued: a consistent UI paradigm (Bootstrap not withstanding), a rich suite of client-supplied services, multi-tasking, static typing.

Javascript is just what you have to put up with to get access to everything else.

_sh··on [dead]
Are you missing the other arm of the 'or'? Try the following, which assumes 'except' returns null if the second parameter equals the first.

  (or someone
      (except 'Apple some-company))
As a general style, although somewhat inverted, I prefer 'tailing syntax':

  (or
    (except someone 'pg 'rtm '_sh)
    (except some-company 'Apple 'Weyland-Yutani))
_sh··on JsPDF - HTML5 PDF generator
PhantomJS uses the same mechanism that wkhtmltopdf uses (headless webkit) and thus requires the 'server-side trickery' mentioned by the parent.

Also, the correct link is http://phantomjs.org/

_sh··on Forced Exposure
Americans! Every time someone wants to introduce gun control, you bang on and on about your right to keep and bear arms being necessary to the security of a free State.

Well, your free state is in jeopardy. Now is the time to assemble your well-regulated militia to secure it!

_sh··on Programming languages to watch: LiveScript, Julia, Elixir
While true, I was comparing macro APIs from a usability perspective and should have avoided the term 'abstract model'.

My point was the mental model I refer to when using $lambda is simpler and easier to understand than my mental model for syntax-case, syntax-rules, syntax-parse and friends. The very fact that 'Racket's macros can be entirely compiled away' complicates my mental model which must now accommodate 'phases', compile-time/run-time dichotomies, require for-syntax, etc.

_sh··on Programming languages to watch: LiveScript, Julia, Elixir
The language I'm most interested in currently is kernel: mathematically underpinned by the vau calculus, with a smart creator and steward, and a better abstract model for macros than even Racket's stellar syntax-parse. Implementations abound.

http://en.wikipedia.org/wiki/Kernel_(programming_language)

_sh··on Ask HN: Any startups working to capitalize on the coming privacy boom?
Perhaps that any attempt to subvert snooping by the government will simply be made illegal?
← PreviousPage 2 of 7Next →