Ask YC: What are you working on right now? - <AUTHOR> What's the startup, project you're working on right now?
I'm working on ONE, which is a collaboration platform for projects, tasks, invoices, ...
Want to bring some of the YC spirit back here, so many posts about normal internet stuff. <comment><USER2> Client's print server crashed in the middle of the night. Month end accounting batch (written by idiots) updated databases before encountering dead end at printing. Accounting wants their reports, but there aren't any. Can't restore because sales & fulfillment have already done many database updates before I was called. Not sure what to do.

Today I was going to add a few features to my web app. Instead, I guess I'll be changing 20 year old programs to not update databases, but print reports. I think. Not sure.

So I thought I would just have a cup of Columbian Supreme, a donut, and a quick visit here. Makes about as much sense as anything else.

(If only this were an April Fools joke.)

</comment><comment><USER3> I'm working on an online comedy troupe. Basically, there will be a blog that a cast of 7 contributors have authorship access to. All of their contributions are rated by the audience, and a the end of the week, the lowest scoring member gets axed, while a high performing member of the community gets promoted.

It's name? <http://www.chompchompdead.com> . It's roughly what happens when you get eaten by a shark.

We should be launching in about two weeks with a full cast of mostly professional writers.

</comment><comment><USER4> \- Selling, improving and supporting ViEmu and Codekana:

<http://www.viemu.com>

<http://www.codekana.com>

\- A few months into a new start-up in the mobile space, Kimua, working towards having a prototype by the summer (my partner and I have hired two programmers, so I don't have to do any of the coding here!):

<http://www.kimua.com> (still nothing really to see here)

\- Doing some heavy research in functional programming for my work-in-progress text editor (codename 'ngedit', the final actual name will probably be 'kodumi'):

<http://www.kodumi.com>

<http://www.ngedit.com/ngedit.html>

\- Trying to prioritize the above tasks appropriately. Some days it's difficult to get anything done just by the sheer size of my "to do" list.

</comment><comment><USER5> Writing my resignation so that I can devote more time to freelancing and a startup

<comment><USER6> I did that a couple of months ago, and before you know it freelancing takes all of your time. Luckily I'm close to launch.

<comment><USER5> I'm going to restrict the number of hours per week I spend on freelancing and raise my prices as I reach that cap of hours. Hopefully supply is plentiful enough for this to work. Has anyone tried something like this? How did it work out?

</comment></comment></comment><comment><USER7> I'm building better MRI reconstruction software. Most existing software does a filtered FFT + standard image processing. This throws away information solely because radiologists and other humans can't use it directly.

I'm trying to extract that information and turn it into something usable by humans.

</comment><comment><USER8> I know it's not exactly a Hacker Startup, but my wife and I have been building www.realphotography.com steadily over the past year

We've tried to leverage the internet and digital media as much as possible: the business has a blog, the vast majority of our promotion is on the internet, we sell the digital files, all proofing is done online. But I'd happily solicit any feedback from the resident hackers as to how we could do this even better.

And I'd like to head off the comments about Flash, yes we're aware of the disadvantages, and you'll see we do off a non-flash site for weddings. ;)

</comment><comment><USER9> Turning off OpenID support. Details here: <http://ourdoings.com/2008-04-01>

</comment><comment><USER10> I'm working on a photo hosting service, <http://Simplebucket.com> Basically, I relaunched the service on March 20th with a new interface, look and a bunch of other features. Now I'm working on a feature "Beeps" for our next release. "Beeps" is the social part of Simplebucket. That's all I can say for now.

<comment><USER11> Interesting, I registered "bookmarkbucket.com", partially with similar intentions.

<comment><USER10> A photo hosting app?

<comment><USER12> Haha...if that is the case, then I am not sure it is the best named domain :)

<comment><USER11> The idea is/was to do much more than just photohosting.

<comment><USER12> A bucket for any type of bookmark?

<comment><USER11> Hey, now you're on to something! ;)

bookmarks "picture"marks "socialmedia"marks...

<comment><USER12> I suggest you deploy version 1 in 24 hours and see if you get any traction?

(I wish people would tell me to do this more often with my ideas)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I am currently researching an idea.

PROBLEM: Search results are full of noise.

PROPOSED SOLUTION: (1) Take a raw search feed; (2) Give searchers a tool that enables them to maintain a persistent search state (i.e., it keeps track of your previous queries and all the results you have clicked on while using the tool); (3) Use results from user data to aid in constructing a better ranking of the raw search feed.

The seed for this idea came from a link given to me by one of the professors at BGSU: [http://research.microsoft.com/~merrie/collaborative_search.h...](http://research.microsoft.com/~merrie/collaborative_search.html)

</comment><comment><USER14> At my day job: Just finished a django checkout/cart system for one of our websites (www.bigfootsnowshoes.com) and working on a new site and more Python/Django apps. Been using Python full time for the past 3 months and loving it. I hate fixing/updating old PHP code now :(

At night: A service that will help locals find what they want more easily for things like going out for a fun night, events, etc. Think a better Yellowpages. Where I am, nothing like this exists so it's something I will be using for myself as well. Plus it's a fun learning

And just as I was writing this post I got my Python in a nutshell book on my desk. Yay :)

</comment><comment><USER15> I'm working on a small project related to baby naming which is a toy to get me familiar with RoR and experiment with building a registrationless user experience.

It's just an evening project and should be online later this week on Heroku.

</comment><comment><USER16> A more trustworthy, controlled reviews and question-answer site geared towards preexisting mailing lists like those in big companies: <http://www.askurpals.com/>

<comment><USER17> Sounds like a good idea, but r u sure ur reaching ur target demographic with that name? :)

<comment><USER16> You are right about the name but big company mailing lists is just starting point for us - mainly because they are easy to target. In theory there is no reason why it couldn't be used for any general mailing lists like Yahoo! Groups or even set of individual email address manually typed in "To:"

</comment></comment></comment><comment><USER18> I'm consulting for a really large client, teaching teams how to deliver technology quickly, so I'm not working on my startup. I don't believe you can do a startup half-way.

But in my spare time I'm thinking about writing a book about how to run Agile projects in large organizations. If anybody is interested, drop me a line. My email is in my profile.

<comment><USER19> Do you see a difference between teams using Agile to maintain existing products and teams building brand new stuff?

I've found in my experience so far, that Agile works better for new development and can't or shouldn't be used as a hammer for everything.

<comment><USER18> I think in general you are correct, but the devil lies in the details. The way people think about the word "agile", oddly enough, can be really inflexible. Somebody gets a CSM, reads a few Cohn books, or gets hooked on Crystal. Suddenly their definition of "agile" is exactly what they read -- no more and no less.

I read once that a programmer tried agile and gave up after arguing for two hours about what to put on the story card. This kind of BS happens a lot: it's the nature of dealing with large numbers of people who see things as binary. If you understand the _principles_ of agile, and why they work, then all the books and authors are just re-digesting common sense and peddling them as books. At that level of understanding you can work on all sorts of things: new development, existing development, non-software work, etc.

That's where my team is trying to take this organization I'm working with. The problem is that influencing large populations (thousands and tens of thousands) of technical people is far worse than herding cats. It's more like trying to get angry flaming weasels to perform circus acts by using a twinkie and a Disney song.

</comment></comment></comment><comment><USER20> On some S60 code for a paying client. Improving code not originally written by me. Oh the joys of C++ and Symbian!

Lately I have been doing quite a lot of MIDP Java development for the same client, and it was quite a bit more enjoyable. With great powers come great responsibilities.

<comment><USER21> Wow! The odds? read my comment...

<comment><USER20> The odds of someone being fed up with Symbian C++? Quite high? :)

Actually I am also kind of doing the same thing in Java as in C++, and hoping to be able to ditch the C++ version in the future.

</comment></comment></comment><comment><USER22> Writing a new essay.

<comment><USER23> I already read your new essay using GDay ;-)

<comment><USER22> That must explain how people have already written posts complaining that it's elitist and consists of nothing more than my subjective opinions presented as if they were true.

<comment><USER24> All the best essays are.

Encyclopedias are objective truth and they are _boring_.

</comment></comment></comment></comment><comment><USER25> I'm working on bug.gd, our error search engine.

Specifically, we just announced/launched an experimental tool for (any) Python interactive interpreter. Whenever you run into an error, you can do a quick search for how other people got past the same error.

<comment><USER10> Hmm.. that's actually very interesting.. My way of finding out error messages now is just to google it and then dive through all the results.

<comment><USER25> The Python thing is more of an experiment as we flesh out our APIs for various languages: <http://blog.bug.gd/2008/03/29/error_help-for-python-hackers/>

The bug.gd site is more like a 'recycling bin' that reminds you to come back and share your workaround so it's not lost for the next guy who searches. Searching on Google works for a lot of people, but this is a lot more focused and helps the community when it's used.

Long-term we'll be integrating client-side tools into every application/language we can.

</comment></comment></comment><comment><USER26> I working on mobtropolis. <http://www.mobtropolis.com> , which makes it easy to photo stream your experiences, big or small, and inspire friends or strangers to try new things.

I had posted it earlier, and took most of the suggestions, though still working on some of them. <http://news.ycombinator.com/item?id=109155>

Since then, I've added facebook integration, and not just a new look and feel, but made it more "me-centric". Just working on getting some bugs ironed out, and will be rewriting the incomplete "tour" section today.

</comment><comment><USER27> rewriting the server software behind a psudo first person shooter game in flash. <http://www.ultrakillz.com/play>

Note the current version is prone to restarts...

</comment><comment><USER28> Checking stats after a new release of <http://www.tudumo.com> It's a to-do list. Seriously, because there weren't enough. Unique, like the others :)

<comment><USER19> Hey, I just downloaded your app. Nice job. I especially like how you guys seeded my tasks so that it's natural for me to start using the app instead of getting a dauntingly blank task list.

Have you guys considered a watered down free version with a lower price tag to buy the full? Like $10?

<comment><USER28> Thanks - been a lot of work! On the lower price: have thought a little but not convinced. One problem is "price-as-signal", another is that below a certain amount it just costs you too much in payment fees, marketing and support. Also, you are essentially selling the difference between the two apps for the price difference. That takes some serious thinking to get right so you don't shoot yourself in the foot...

</comment></comment></comment><comment><USER29> Finishing my degree.

And, putting together a Meetup in Mountain View the evening before Startup School: <http://entrepreneur.meetup.com/1737/>

</comment><comment><USER30> I am working on a kids MMO with a very cool spin on it. Getting the Business Plan and pitch worked out...

<comment><USER31> I am also working on an MMO. It's a space game. My spin is that _everything_ in this game will be emergent. The players can design and play anything in this game, or it will evolve through genetic algorithms. I've worked out how to do most of this. I'm still working out how to evolve NPC ship AIs, but that's not the most important.

Also, _everything_ in this game will be scriptable. Users will be able to create programs to control anything, then license those programs to other users to make money. They will also be able to license designs. Exponential proliferation of designs and scripts is prevented by limiting designs per user to some maximum number.

Basically, I'm going to make a MMO, where the developers are out of the business of creating content. The users create the most compelling content anyhow. Oh, and the "gold farmers" -- I'm going to have them writing content for me! You can't beat market forces. Better to co-opt them.

You can think of this as Second Life in Space, with much easier implementation requirements.

<comment><USER32> I suppose you're conscious that there are a few huge cans of worms in your way. Expect QA and customer service to become more 'interesting' than in the typical MMO. Player scripting will tend to alienate nonhackers (script trading notwithstanding). Empowering players as you suggest in other comments (letting them run whole factions) reduces the pressure to socialize, which is the main driver of player retention.

Surprising as it may sound, the downsides that many MMOs have as games actually help them succeed as the glorified social networks most of them are. Boredom and disempowerment bring people together. As the cliché goes, they come for the game and stay for the community.

That said, I love your concept and I'd definitely give that game a try. I wouldn't consider playing a MMO that runs on rails and where I can't automate away my repetitive tasks. I think you'd get a smallish but interesting and loyal player base. Maybe it could reddit out from there if that's what you want; otherwise I believe it would work great as a lifestyle business.

Is it on purpose that you don't provide contact info in your profile? I'd love to exchange some thoughts with you (see address in my profile.) I worked for a few years in what is today the leading commercial space MMO, and I've been entertaining some ideas on those lines too.

<comment><USER31> Player scripting doesn't seem to alienate people in Second Life. Maybe there's something I don't know. Scripting will not be required to play. You will be able to buy scripts from weapon developers, who will finally be worthy of the name.

Faction players will need pilots. Their AI drones will never be a match for human pilots in player ships. On the other hand, pilots will need factions -- otherwise it will be hard to generate enough wealth for the very best high tech equipment.

<comment><USER32> TBH I've never played Second Life, but from what I've read it's more of a social sandbox than a direct competition. The space setting is more associated with combat and domination. It seems more likely that nonhackers will call foul on any disadvantage, real or perceived.

In my experience advocating player scripting in a MMO forum, I've observed that there is much prejudice against real life _technical_ skills. Players seem to have less of a problem with other real life factors having an impact. Factors such as social skills or ability/willingness to spend more time on the game. I think this is because it takes technical skills to evaluate the true impact of mechanics involving technical skills, in order to come to the conclusion that they are mostly benign.

OTOH, I've also observed that some nontechnical people actually like scriptability and others can be convinced (with some difficulty; they often assume you're trying to skew the game towards your abilities for the sake of getting an edge) _if_ you have the chance. And of course, people that can program absolutely love the feature. Unless you start with millions and a recognized IP, I think your best bet is making some underserved audience _love_ your game rather than try to please the mainstream.

So I was playing devil's advocate here. As I said, I myself would love player scripting, and if I was to make a MMO, I'd bite the bullet. But whatever you do, I think these are factors to take into account.

</comment></comment></comment></comment></comment><comment><USER33> A new way to create software and a new operating system built from the ground up based on it.

</comment><comment><USER34> I'm working on a hosted load testing solution. The idea is to make it easy to find scalability issues in advance, like the signup scalability issue HN had when it was TechCrunch'd. The tests will require no hardware, be on-demand, and use an open source tool people might already be using. It should make the process ridiculously easy and scalable if I get things right.

</comment><comment><USER35> I'm working on a web based group insurance (employee benefits) platform for the Canadian market. Right now, this market is dominated by enterprise software. Further barriers to entry basically revolve around needing to be established to be trusted.

I have the connections, and have recognized that massive inefficiencies can be capitalized on by an upstart with the right knowledge.

Wish me luck.

</comment><comment><USER36> I'm working on a categorization/data mining project using Java JOONE for the neural network. Not as hard as it sounds (most of the time). Must finish this project today or tomorrow so I can get enough money to fuel our startup (<http://www.awesomehighlighter.com>) for the next couple of months.

<comment><USER37> Just tried out awesomehighligher, I found it really useful - would recomend it to my friends and workmates for sure.

</comment></comment><comment><USER38> Working on a "souce code annotating debugger" for an esoteric programming language.

So instead of painfully stepping through your code line by line, you just press M-t inside a function definition and voilà: it shows you what goes on inside the function, using some example inputs to annotate the source code in a new Emacs buffer.

<comment><USER39> So, you're working on SLDB?

<comment><USER38> No, it's not (E)Lisp related.

My "debugger" in fact executes a whole function without stop and prints the values of all used variables and the results of nested function calls next to the code itself.

I'm not yet sure how useful this is, but it's a fun project and a good excuse to implement an interpreter for said esoterical language.

</comment></comment></comment><comment><USER40> I'm working on a startup. www.hybir.com (not much there yet)

A really different approach to online backups. My nightly full backups take only a couple of minutes over broadband...

Right now I'm porting C# code to win32 C/C++. .Net has some really nasty bugs. So half my code is already in win32 C/C++.

I will give away some free subscriptions here when I am ready.

</comment><comment><USER41> Right now, an EEP for Unicode support in Erlang. (EEPs are like PEPs in the Python world).

Apart from that, I've got about 10 other things on my "current stuff" list, most to do with Hypernumbers (<http://hypernumbers.com>), but there's a couple of Arc-related things as well.

</comment><comment><USER42> I'm working on a member management system targeting a small niche market. Currently waiting on design revisions, my designer is coming up with some pretty unique stuff so I don't want to code too much since a lot will need to be rewritten around his designs.

</comment><comment><USER43> I'm working on <http://16characters.com/>

<comment><USER36> 16 characters rocks.

</comment></comment><comment><USER11> I'm working on a quad-venti latte at the moment.

:)

<comment><USER12> For the fools (intended satire for date posted):

<http://www.quicksilverweb.net/sbucks/sbcharts.htm>

4 shots of expresso with milk and foam and such, venti being the large size. With that order though, I am still unsure if it is served hot or cold. My guess is if you don't specify, it is served hot.

</comment></comment><comment><USER44> An RDF triple store based on CouchDB and an S2O layer (SPARQL to Objects) mapper.

</comment><comment><USER45> Rapid application development in web applications. I'm developing an embedded domain-specific language in Haskell that basically constitutes application metadata which then gets converted to Ruby, Perl, Python, or PHP.

</comment><comment><USER46> A new way to organize things/data online to enable greatly improved retrieval.

</comment><comment><USER47> On my spare time I am working on a litle Android app. Financial and stock market information. Just for fun. Not going to make it it time to submit for the competition thou. I am one-two months away to have something useful.

I also want to work on something else, but as a project it would very involving, and I will need to work on it full time, and with partners. Unfortunately I am a H-1B servitor, and can't just take long breaks from my job.

Ah, and my full time job (mobile tv and multimedia, working on java and lua). Not bad, as I am actually working on advanced stuff.

</comment><comment><USER48> Currently working on my lead generation business n2neuron.com (site is woefully incomplete and doesn't represent much of what we do, but ok because our business is conducted on the numerous content sites).

Working on my client lead-flow. Trying to break the 100 sales/day mark.

Setting up new content sites to generate more free advertising.

Billing upstream clients, paying downstream advertising vendors.

Trying to convince my partner to leave his full-time job at Dell.

General day-to-day business stuff, I suppose.

Building an "excess data" exchange to re-market unsold lead data, which is kind of cool.

</comment><comment><USER49> Right now I'm in the middle of a study group that I started here at work. We're studying Graham's book "ANSI Common Lisp" and studying inference in particular, so we're also covering some of "Paradigms of Artificial Intelligence Programming".

After that's done, I'm going to either spend some time working on the Netflix Prize (just to learn more, not in a real attempt to win) or doing some music programming in either Lisp, using the Common Music API, or Mathematica.

</comment><comment><USER50> redesign of <http://thefeelgood.com/>

<comment><USER51> I rather like your site, but it seems very confusing. Like I can't find any hearts for me to click on to say that I like it. (I'm on Opera 9.5 beta.) Also, there are songs embedded everywhere, and I'm not sure why, or what all the links mean. (I don't understand their purpose.) What would also be nice would be the title and the artist within these links as well.

I do like all the music I've clicked on so far though. . .

Edit: It does have the artist and title in the embedded link. Just seemed weirdly placed. My bad there.

<comment><USER50> I'm sorry you found it confusing (hence the redesign in progress ;) ). The hearts are white until you favourite a song. I can see how this can be confusing when they are red in the instruction text.

</comment></comment></comment><comment><USER52> It's not a startup, but it's something I've been thinking about doing for a while. It's a collection of articles on the topic, "Things I wish I had known before my 1st startup" You can check it out at bizglue.wordpress.com. A lot of the articles came from YC, but several came from other, random sources. It's not really a blog - more of a personal business catalog to help me in my next startup.

</comment><comment><USER21> I am using Mobile Python to replace an existing Symbian C++ app of 100,000 lines with an app of 20,000 python lines - for a client. Wish me luck.

</comment><comment><USER53> Working on my YC application

</comment><comment><USER54> <shameless_plug>

Startup that makes a gaming platform. >1 million hits per day. Alexa ranking of <1000\. <http://gg-game.com> and <http://garena.com>

We're also trying to grow the team. If you're a hacker in Singapore or South East Asia, I'd love to get in touch with you! =)

</shameless_plug>

</comment><comment><USER55> The online store/catalog in AWDR was non-interesting so I'm iterating a clone of Buxfer's iPhone webapp (while I teach myself Ruby-on-Rails). I have no intention of competing against Buxfer - I use their app for real expense reporting instead of my crude app - their iPhone application is a excellent example of a iPhone webapp.

</comment><comment><USER56> I am working on our property management application / rental property listing service startup, <http://www.propertystampede.com>.

I focus on capturing users and marketing, writing for the blog at <http://www.stampedeblog.com>.

</comment><comment><USER51> Trying to write an ms exchange killer. So many languages I want to learn, and never seem to have any time to start. (Right now on the list: Ada, Erlang, Python, Ocaml, C/C#/D/ObjC, Effiel, Smalltalk).

Was trying to do the android competition but too much junk happened in my life the past month that kept me from starting that idea.

</comment><comment><USER57> Setting up a cash bonus plan for my team to clean up our code base. $5 for quarantined methods or blocks that just need to be deleted, $10 for deprecated blocks that need to be extracted from active code, and $25 for useful rewrites of badly designed methods. 3 days cut the fat code cash cookoff!

<comment><USER58> Are you sure that's wise?

There have been quite a few studies that indicate that trivial reward systems tend to backfire, and have unintended side effects. These are definitely trivial rewards for good developers. Have you instead considered just implementing the measurement system, without the rewards? People can then see their success rate and have clearly defined goals for doing the work you want done. Then, perhaps take everyone out to a really good lunch, or have a catered lunch, at the end of a successful week of pruning? It's no more expensive than your reward system, and feels more like a prize to most folks-- everybody says they like cold hard cash, but once basic needs are met, things like the work environment take on more importance. For example, Google pays lower salary than almost any other employer in the area, but it is the "best place to work" in the country.

When offering large enough rewards, you can convince people to do things they don't want to do. And when you ask people nicely for help, and give them clearly defined goals, you can also get them to help without a reward--they'll probably even enjoy the work more, because the human brain shoots out good chemicals when working within a community for a common cause. but, when you offer them a trivial reward, you both offend them and only grudgingly get results (with unintended consequences like code that gets written with the intention of claiming a reward later to clean it up), and morale will go down. Humans are fickle creatures, and I think you're setting yourself up for a long painful lesson in human resource management.

Just a humble suggestion.

</comment></comment><comment><USER59> A centralized syslog database with rule based systems to block malevolent sorts at our firewall boundaries. Didn't like any of the solutions I found to scratch my itch.

(Ok,not technically a start up, I started up many years ago. Been there, done that, forgot to sell the company.)

</comment><comment><USER12> I rarely share details, but I will for once.

I am working on version 2 of a simple tool for a friend that he uses for some contract work in the statistical analysis field.

Version 1 was a Java app and minimally featured, version 2 is web based, done in Django and intended to be a lot more robust.

</comment><comment><USER60> I'm working on <http://codepad.org/>

</comment><comment><USER61> Doing freelance graphic design work so I can save some money for a startup with a killer, obvious idea, but no one has done it in Jamaica yet... I'm talking disruptive stuff.

But then many great ideas in history seem obvious in retrospect.

</comment><comment><USER62> I do visual effects and animation. Currently wrapping up a Pringles commercial. Can't show the spot but my other work is here: <http://chriskelley.tv/work/>

</comment><comment><USER63> I'm working on a webapp to let people create their own games. Just finished e-mailing with a prospective cofounder (he turned me down, sigh), now going to start coding up some enhancements to collision detection.

</comment><comment><USER64> Experimenting on a web app for people to "quickly and easily" share the stuff in their heads either with words, numbers, or pictures. Very vague at this point. Still working out some details.

Keywords: functional frictionless.

</comment><comment><USER65> Building a better dzone, mostly just to learn the Apache Wicket framework. I like the idea of dzone, but I hate the layout of the site, and I can't be the only one.

I might re-implement it in Django though, just for fun.

</comment><comment><USER66> Polishing up my Facebook Cross Number Puzzle app <http://apps.facebook.com/xnumber_puzzle> before submitting to FB App Directory

</comment><comment><USER67> eBay killer.

<comment><USER68> The world needs that. I mean that with no irony/sarcasm. Ebay sucks. The idea is great. The implementation is unbelieveably bad.

</comment></comment><comment><AUTHOR> Whow, how did this happen. Appreciate the 90 comments guys + girls.

<comment><USER49> People always like talking about what they're working on.

<comment><USER69> Hence the success of Twitter

</comment></comment></comment><comment><USER70> Getting a job.

</comment><comment><USER71> fixing IE issues...isn't that what most people spend their time on?

</comment><comment><USER72> Undergrad Honors thesis.

</comment><comment><USER73> Trying to wrap my mind around Arc by building an ecommerce app.

</comment><comment><USER74> [http://olpcnews.com/content/localization/learning_language.h...](http://olpcnews.com/content/localization/learning_language.html)

</comment><comment><USER75> Working on <http://www.thephotostream.com>. Suggestions, comments are welcome!

</comment><comment><USER76> Trying to finish my startup product, over a year in the making. Stuck in that "last 10%" purgatory that seems to stretch on forever.

</comment><comment><USER77> Working on a fresh, disruptive collaboration system for a stodgy, niche industry (will keep that bit of info under wraps for now).

</comment><comment><USER78> Working on writing a blog to help me learn arc.

</comment><comment><USER79> 1) Dataflow engine for a new kind of spreadsheet 2) Business idea brainstorming 3) Ignoring all the April 1st internet BS.

</comment><comment><USER80> Working on a keyword research app for SEM. The first step to bringing my internal PPC management system to the masses.

</comment><comment><USER81> A cup of coffee.

</comment><comment><USER82> the perfect homepage for average web users

</comment><comment><USER83> finishing up the last of our politics stuff: <http://poliquiz.com> and <http://www.fantasycongress.com>

trying to figure out what changes need to occur to our YC app to make it more understandable

</comment><comment><USER84> my abs

<comment><USER85> my sandwich

</comment></comment><comment><USER86> New features for the adult-oriented social network I'm mostly working on, these days.

</comment><comment><USER87> Working in Cinema 4D on a WWII dogfight through a fjord in Norway circa May 1945.

</comment><comment><USER88> So cool to read all that stuff. Guys, you are all busy so far...me too!

</comment><comment><USER89> Novel learning algorithms.

</comment><comment><USER90> This: <http://taggl.net/>

Almost done!

<comment><AUTHOR> What is it?

</comment></comment><comment><USER91> <http://wifind.in/>

</comment><comment><USER92> working on a tool related to the medical insurance billing industry.

not reinventing the wheel, just hoping to make some money so i can afford to reinvent the wheel later. :)

</comment><comment><USER93> My app for the Android Dev Challenge. Deadline's soon...

</comment><comment><USER94> Recovering from having my gall bladder removed. :^(

</comment><comment><USER95> markkit in your blog/website <http://markkit.net/in-your-site.html>

</comment><comment><USER96> clinical trial data management. You wouldn't believe how tough it is to get people to let their paper go.

</comment><comment><USER97> Polishing my shopping search engine

</comment><comment><USER98> working on my "idea" and at the same time looking for funding here in the philippines :/

</comment><comment><USER99> a facebook app - as a beta test / proof of concept for rephoria.com .......not dying

</comment><comment><USER100> Message queuing in php... ak.

</comment><comment><USER101> Cooking dinner.

</comment><comment><USER102> amateur sport website (multisport nike+)

</comment><comment><USER103> Customizing a Live Linux CD (for a client) writing a press release (for a client), finishing the SEO for a website (for a client) and teaching myself Ruby (FOR ME).</comment>


Rules for Professional JavaScript in 2015 - <AUTHOR> https://medium.com/@housecor/12-rules-for-professional-javascript-in-2015-f158e7d3f0fc <comment><USER2> This is really 'Rules for front-end Javascript', I was expecting something that was equally valid on the server as the browser.

That's how far js has come in the last few years.

</comment><comment><USER3> Learned a few things, namely that <script> tags in <head> block page rendering. Perhaps this is why I never tried to be a front-end engineer...</comment>


Why Chrome 53 Is Rejecting Chase Bank's Symantec Certificate - <AUTHOR> https://sslmate.com/blog/post/ct_redaction_in_chrome_53 <comment><USER2> Author here. It has gotten kind of hard to follow what has happened, so here's a chronology:

1\. In September, Chrome 53 was released, which enabled mandatory Certificate Transparency for Symantec certificates due to Symantec's history of incompetence. Some website operators, such as Chase, asked Symantec to submit their certificates to Certificate Transparency logs in such a way that the certificate wouldn't be trusted by Chrome, triggering the ERR_CERTIFICATE_TRANSPARENCY_REQUIRED error. This is when I wrote this blog post.

2\. Last week, an internal timebomb expired in older versions of Chrome causing this error message for any website using a Symantec certificate issued since June. Basically, Chrome contains a list of Certificate Transparency logs that it trusts, and this list has a 10 week expiration date. So if Chrome was built more than 10 weeks ago, there would be no trusted Certificate Transparency logs, and therefore any certificate that was supposed to be logged (such as new Symantec certs) would be untrusted and display this error message. The Chrome team was able to fix this within 24 hours by remotely disabling CT enforcement in Chrome. (When Chrome starts up, it fetches a list of feature flags from a Chrome server using a system called Finch which is independent of the normal upgrade system.)

3\. Today, the Chromium packages in several Linux distros, including Ubuntu, became 10 weeks old. For some reason, they have not picked up the Finch update, and so they are displaying this error message for all Symantec certificates issued since June. This is not confirmed yet, but the current hypothesis is that the distros have disabled Finch for privacy reasons. It will probably require a distro package upgrade to fix.

<comment><USER3> Is there any reason, in 2016, to use Symantec over LetsEncrypt?

<comment><USER4> extended validation (mandatory for bigcos) and support contracts (important for corporates, not sure how useful "in real life").

Also, inventory management, which is helpful when you have hundreds or thousands of certs.

<comment><USER5> There are lots of EV issuers who haven't been caught doing shady shit like Symantec...

<comment><USER6> _cough_ Hey there!

CertSimple _only_ does EV, and we do it completely differently from every other company: we check as much of your company's details before you pay, matching your order to a registered/active entity, flagging up things before asking for your credit card number, and helping you resolve any missing identification steps based on your company, order and the domain names involved.

I've been on HN for a decade and was at YC in Mountain View last week for the 10-min final interview last week (we didn't make it, which I blame on me being a jetlagged mess). OTOH the AirBnB we stayed in used a customer as their ISP.

We're used by a bunch of companies HN folks might know, including Travis, Tito, and Monzo.

[https://certsimple.com/about](https://certsimple.com/about)

</comment></comment></comment></comment></comment><comment><USER7> I'm using Chromium on Ubuntu 16, and I've been trying to visit

[https://www.nist.gov/](https://www.nist.gov/)

but I don't even get an option to 'browse insecurely' under the 'Advanced' link.

In my experience that past couple days, I get the warning on about 10-25% of major web sites.

<comment><USER8> try typing 'badidea' on that page and report back if it works. :)

<comment><USER9> Can you explain that trick?

<comment><USER7> I Googled it and found this:

[https://www.reddit.com/r/sysadmin/comments/42xd4i/chrome_dan...](https://www.reddit.com/r/sysadmin/comments/42xd4i/chrome_danger_shortcut_changed_to_badidea/)

</comment></comment></comment></comment><comment><USER10> "Too many websites have chosen redaction incorrectly"

I purchased a Symantec cert from ssls.com for one of my sites. I wasn't given the option of redacting anything.. yet I'm seeing this error with Chrome 53 in Linux. (I also have Chrome 54 on another computer, and it's working fine).

There are clearly other ways of ending up with a certificate that triggers this.

<comment><USER11> Did you find your cert in the public log? What does the host name look like? Is it redacted? Maybe they did it without confirming with you, first :/

<comment><USER10> Checked, and it's not redacted.

</comment></comment></comment><comment><USER12> The wider bug affects all versions of Ubuntu using Chromium from the universe repo, which is a 10 week old build of Chrome 53.

Launchpad bug: [https://bugs.launchpad.net/ubuntu/+source/chromium- browser/+...](https://bugs.launchpad.net/ubuntu/+source/chromium- browser/+bug/1641380)

</comment><comment><USER13> tl;dr: Symantec have tried to implement a broken version of Certificate Transparency on their Certs when IETF have not finished the spec.

As such new Symantec certificates don't work in newer versions of Chrome.

Crazy but true.

Kudos to the site owner - clear and simple and authoritative explanation

(Although I see the hand of politics behind this. "Hey we really fucked up the Google.com certificates. The board insists we do what Google wants and implement full certificate transparency by June 30. And it took two hours to explain it to the board so I am not going back to explain that it's all changed - Just implement the most recent IETF draft. Then I can tell the board it's done. What's the worst that can happen!"

Oh ....)

</comment><comment><USER14> I am in China, when I open baidu.com, zhihu.com, Chromium will throw the private error. There is an interesting solution, on the page of private error, input "badidea", the browser will automaticly redirect to the targeted website. But it may be a "bad idea". Now I use Firefox to open these sites.

<comment><USER15> Chrome had a different bypass password until recently. They've shown that when a password catches on among the wrong folks they will change it.

</comment></comment><comment><USER16> This bit me on both the NYT and WSJ websites this past week using Chrome 53; CDNs they were using both broke with this error. Upgrading to Chrome 54 seemed to solved the problem for me (I'm using arch linux, fwiw).

<comment><USER17> me too, i saw it on amazon broken. i updated my chromium and all good.

</comment></comment><comment><USER18> This has been wreaking havoc for matrix.org and riot.im all day - we blogged about it earlier: [https://matrix.org/blog/2016/11/14/ssl-issues-with- chromium](https://matrix.org/blog/2016/11/14/ssl-issues-with-chromium). Tempted to move off RapidSSL wildcard certs to a bajillion LetsEncrypts...

<comment><USER15> Watch out for the rate limits: [https://letsencrypt.org/docs/rate- limits/](https://letsencrypt.org/docs/rate-limits/)

</comment></comment><comment><USER19> Upgrade to fixed chromium from staging ppa on Ubuntu:

sudo add-apt-repository ppa:canonical-chromium-builds/stage sudo apt-get update sudo apt-get install chromium-browser

</comment><comment><USER20> Was wondering why a bunch of websites were giving me ssl errors, but working in firefox.

</comment><comment><USER21> Forgive my ignorance, but if you're issuing certificates for internal hostnames that you want to keep private, why would you need a public cert? Wouldn't an internal CA be better?

</comment><comment><USER22> This is affecting Australia's Suncorp internet banking too. We reported the certificate error to them yesterday, and I've just updated that with a link to this article.

</comment><comment><USER23> Happening with BofA too.

</comment><comment><USER24> Interesting enough, just got this error trying to buy something on ebay for pay.ebay.com requiring transparency now.

</comment><comment><USER25> No problem in Version 54.0.2840.100 (64-bit)

</comment><comment><USER26> Somewhat off-topic but what a horrible bank they are.

A friend of mine's father almost got a heart attack by trying to refinance their underwater house. Despite of being a US veteran and government willing to sponsor their whole mortage through some special aid program, Chase chosen not to accept check from said agency. If that would be check from him they would gladly take it.. but not from gov. Government, of course will not want to write a check for him, so its a catch 22.

They currently file a lawsuit that Chase gladly accepted (thank God my friend has a good lawyer who took it pro-bono), but it just shows you to what extent they will go just to make an extra buck.</comment>


Terence Tao's Answer to the Erdős Discrepancy Problem - <AUTHOR> https://www.quantamagazine.org/20151001-tao-erdos-discrepancy-problem/ <comment><USER2> Here's a link to the paper: [http://lanl.arxiv.org/pdf/1509.05363.pdf](http://lanl.arxiv.org/pdf/1509.05363.pdf)

<comment><USER3> A note -- if you're linking to arXiv, it's better to link to the abstract ([http://arxiv.org/abs/1509.05363](http://arxiv.org/abs/1509.05363)) rather than directly to the PDF. From the abstract, one can easily click through to the PDF; not so the reverse. And the abstract allows one to do things like see different versions of the paper, search for other things by the same authors, etc. Thank you!

</comment></comment><comment><USER4> I like Erdos but I have to wonder how much of what he did matters if you look at results in binary instead of Base 10. It seems a lot of number theory seems to gloss over this basic fact. In number theory, it seems Wolfram's four categories explain "impossible problems" pretty simply.

<comment><USER5> Number theory deals with numbers, not the representations of them. The properties of numbers dealt with in number theory exist independently of the base chosen in which to represent the numbers; in fact, a result from number theory (the basis representation theorem) is the formalization of what a "base" actually is and how to represent a number in an arbitrary base.

<comment><USER6> Number theory is like the metaphysics of maths. It's metamaths.

<comment><USER7> No, metamath is.

[https://en.wikipedia.org/wiki/Metamathematics](https://en.wikipedia.org/wiki/Metamathematics)</comment></comment></comment></comment>


John Ousterhout on Startup Decision-Making - <AUTHOR> http://www.stanford.edu/~ouster/cgi-bin/decisions.php

<comment><USER2> I was John's VP of Engineering at those two start-ups and there's one thing he doesn't and can't say (but I can :-)

He truly practices what he preaches in that article: I've seen him act like that over a period of many years. By doing that he set company culture.

Never underestimate the power of a CEO in setting culture.

</comment><comment><USER3> "The best decisions are recognized, not made."

This article is a keeper. Its clarity is reminiscent of good software design, yet without being technical. It's also interesting that it goes against the grain in a way that's clearly based on experience. I suspect it would be a good idea to periodically reread this.

<comment><USER4> For me at the moment, it's "too long; read later", but thanks very much for citing that quote; it compelled me to read the first couple of paragraphs, and I've made note to follow up with the rest as time allows.

The quote strikes me strongly because it captures, in a sentence, how decisions were reached in the best groups I've worked with. A bunch of senior people who know the domains and context. A frank discussion of options, including: Personal preferences versus current requirements; Short term versus long term; etc.

It becomes apparent to all what the correct choices are. If there are disagreements, they are usually minor and acceptable. They are discussed with respect, and usually kept in mind as contingencies / alternate paths in case the choices made don't work out satisfactorily. Sometimes, a small amount of additional work is included to keep those paths open/practical.

The choices are not locked into some doctrine that itself becomes the problem further down the line. ("The plan becomes the project.") If/when the landscape shifts, it's discussed and, if necessary, an alternate path chosen. People may be a bit unhappy, but it doesn't become personal, because it was all discussed and people know how the situation came to be, with reasonable consensus, and that it's not the result of neglect (at least, within the team). If there's some crunch time, it's of necessity. And if your colleague was incorrect, this time around, they may well be the one covering your back, a few months from now.

With regard to one team I'm thinking of, outside pressures kept wanting to "formalize" the work. The team leader resisted this -- through a tactful combination of attentiveness and responsiveness, a genuinely nice personality, and benign neglect (we're too booked at this time (with things you are telling us you REALLY want/need), but we'll keep it in mind). It helped greatly that he was one of the brightest people in the division (I'd say, in the organization overall) and people, including upper management, really appreciated and needed his continued good will. He created a haven of productivity. Ironically, our documentation was also often better than that of other "formalized" projects: We recorded what was important, clearly, and didn't worry about wading through a blizzard of redundant checklists, schedules, and... Well, if you've never been there, you (speaking to the readership rather than the parent post) may find it difficult to imagine the inanity.

Sadly, things changed. When you find such a situation, foster it, and savor it while it lasts.

For my part, if I'm fortunate, maybe I'll have the opportunity to help create and maintain such an environment in the future. It's certainly my mindset, and as I've gotten older, I'm more inclined to just act on it -- independently, if necessary -- as best I can and let other people sort out their own ruffled feathers. Doing so, you tend to find others of like mindset and form your own, ad hoc groups. The caution being that if you do this independently within a larger setting that does not share your view, politically and career-wise you may become effectively isolated. Even the fellow I described above eventually got pushed into a much more "management"-centric roll; it was the only way to maintain his career. He was smart enough to perceive this and act upon it, if not entirely happy with the outcome.

</comment></comment><comment><USER5> Hmmm. But there is a reason that design by committee is a curse word. To his credit, I found it interesting that Ousterhout at least gave a hat tip to the dictator school of thought.

I think though that there are many more examples which he omits.

Linus -- "Benevolent Dictator for Life"

Guido Van Rossum -- ditto

Just about every other open source worthy -- ditto

Larry & Sergey -- ditto

If you don't have that ruthless product genius with "taste" you just aren't going to achieve greatness, IMHO. Open to counterexamples, but every time I've observed consensus based decision making it has devolved into politics and pre-meetings and vote-swapping. And this is among both tech academics and tech startups, who one would hope would be more rational.

Actually, this Onion clip captures what happens during an open consensus based process where everyone can see each other's votes:

<http://www.youtube.com/watch?v=uFpK_r-jEXg>

 _Real-time pandering_.

Instead what you may want to do is buttonhole people or small groups with deep knowledge of the decision area, ask for their input, debate if you must, and then go out with a united front.</comment>


Ask HN: I am the smartest person in the room. What should I do? - <AUTHOR>

I have been working at a company that has gone through some significant changes recently. When I was hired (not quite 2 years ago), there was an enormous amount of growth potential and I was always learning something.
We went through a "merger" with our parent company, and had a large amount of turnover. Now, I no longer am able to work on projects with any potential and have effectively become tech support/customer service. I have lost all ability to learn through experience.
Being "the smartest guy in the room" is absolutely terrifying. I don't feel like I have a huge amount of knowledge or experience, but I don't think that anyone else understands the consequences of the decisions that get made.
Now the big questions:
1. Am I chasing a pipe dream to keep looking for a better work environment?
2. Is it worth doubling down on time/effort to try to change the culture, or do I cut my losses? <comment><USER2> 1) You are not chasing a pipe dream. Being the smartest person in the room is a terribly taxing position to be in, especially if you are not compensated by title or pay. I've been in that position enough times that my current primary qualifier for employment is to work _for_ people who are smarter than me, as well as a few people to work _with_ who are smarter.

You need to turn your interviews in the reverse: demand interviews with your future co-workers/peers, and evaluate _their_ competency (and "culture").

In other industries, it is a smart move to _wait_ for change: wait for a new/better manager (managers, especially CEO's have much higher turnover than anyone else), or wait for a better culture or environment/teammates.

This is not so in computing. You don't need to wait. There are greener pastures.

2) If you are not compensated by title, if you do not have the ability to hire and fire, you will not be able to change culture.

The company you work for is likely to promise everything but follow through with nothing -- they are getting a good deal having an expert perform tech support, saving two or three new hires if you leave. I've been replaced by entirely new business units of 6 or more people after my departure. In retrospect its quite clear why paltry raises and weak promises to provide new hires or changes in the group to string me along as they did.

cut your losses.

A side note: many programmers "retire" into mediocracy, performing undemanding work in undemanding timelines. Pretend you know a great deal less than you really do, and pretend like the simple work that you do is harder than it really is. Spend very little of your day doing any actual work.

I've had many people try to sell me on the idea that such environments can provide you with plenty of time to "work on your own stuff", but I've never seen anybody create something on their free time that I admire while working in such an environment. I don't believe it.

<comment><AUTHOR> Thanks for taking the time to reply. I am a little troubled by a one thing, though. . .

I am not a programmer - I'm a mechanical engineer. You say in other industries it's smart to wait it out for change. How do I evaluate whether to hunker down or gtfo?

</comment></comment><comment><USER3> First, recognize that you are only the smartest person in the room according to your own metrics.

Second, decide whether this a problem that you want to do something about. One option is to fix your environment by educating the people you see as "less smart," because teaching is always good for karma. A simpler option is to leave your environment for a new one.

I recommend trying to improve the environment yourself. As a hedge, build your profile for employers and get ready to leave. Once you're in the groove for interviewing, apply to some new companies and see what you can do.

It sounds like the environment may be unfixable, given your references to turnover and de facto demotion to tech support. If the company does not value your skills as an engineer (assuming you have them and are not delusional), then yes, there exist greener pastures elsewhere.

</comment><comment><USER4> The first thing to do is make sure that you are actually not the dumbest person in the room.

<comment><AUTHOR> How would I do this?

</comment></comment><comment><USER5> Sometimes company trajectories stall out, and you'll end up pressing yourself against the roof trying to push that company back up. Physics will beat you. But! Your founders may get things going again.

As far as your actual questions...

1\. There are better work environments, in companies with better prospects.

2\. You probably can't change the culture unless you're a founder. But fortunately, your founders can change the culture. The question is whether or not they have the political power to do so in your new ownership context.

<comment><AUTHOR> This is encouraging to hear - I appreciate that you took time to answer.

The sad part of this is that there are no founders. At least, none that are left. The company was stated ~35 years ago by a pair of brothers, and they sold about 10 years ago. We were left to our own devices until about a year ago since we were incredibly profitable. I'm not sure what changed, but someone decided to "bring us into the fold".

</comment></comment><comment><USER6> 1) Absolutely not.

2) Are you in a position to change the culture? Doesn't sound like it. Generally only execs can do that, and generally only the CEO.

Being the smartest person in the room, unless you're a C-level executive, is terrible. (And even if you are a C-level executive it's non-optimal.) You're not learning anything. You need to quit.

<comment><AUTHOR> This was my take on the situation, also. It's nice to know that I'm not crazy, though.

<comment><USER6> The only things I would ask myself in your place are: "Am I being objective in thinking I have nothing to learn from these people?" (it's easy to delude yourself) and "Can I change the room without leaving the company?". If the answers are "yes" and "no" respectively you need to cut your losses.

I was in your situation once. Stuck it out a year longer than I should have wanting things to get better. They never did. The day I left was cathartic release. And now I work with a bunch of people much smarter than me and it's great.

</comment></comment></comment><comment><USER7> Find a different room.</comment>


Ask HN: How should I organize my portfolio? What should even be in it? - <AUTHOR> Growing up as a Generation Y, I fell in love with computers at a very early age. Since then, I have accumulated tons and tons of work (personal and for work). These range from running PPC campaigns, social media marketing consultant for hundred-million dollar company, logos/print design, and even a game-hack that I wrote 10 years ago for SC:BW. I was an odd child.
However -- About 75% of them are just simple (but professional) websites that I have made as a freelancer over the more recent years.
1) What would you include in the public portfolio?
I feel that potential clients / employers may like to see that I try to be well-rounded and always curious to try new things. But I'm not sure how others would think about my SC:BW hack called "BagFullOfSh!t" (can't make this up, you can Google "BagFullOfSh!t ghoztcraft" if you're curious lol). Sure, it was 10 years ago when I was 12, but does it deserve a spot -- on my professional portfolio?!
2) How would you organize your portfolio?
I was thinking of putting them into categories, such as "Logo Design," "Website Development", "Social Media Marketing", etc. But a lot of them overlap with eachother. I could also organize it by client instead of project -- but I've worked with some clients more than others. I'd love to hear your input/suggestions/inspiration.
3) What can you include in your portfolio, morally and legally?
For example: I've had the wonderful opportunity to do some social marketing work for the LA Dodgers (just a small project; custom app on Facebook). However, there was a middle-man advertising agency that reached out to me. Morally, I feel that I can post this project in my portfolio, since I did do 100% of the actual work. Legally, however, could it have repercussions on me?
Thanks for bearing with me guys. I learned a lot from my last AskHN thread, and I am deeply thankful. It's hard to have thoughtful discussions like these on Reddit, and I am loving this HN community! <comment><AUTHOR> Off-topic, but I didn't want to spam you guys with a new thread. Quick question: Is it looked down upon at HN to repost questions on other sites like StackExchange? I like to get as much input as possible from people, but I don't want to get off as being 'spam-y.'

<comment><USER2> Given the differences between StackExchange and HN, ideally the questions would be tailored for each community. To go further, it may make sense to post serially since questions can be improved based on responses on other sites.

</comment></comment><comment><USER2> Ideally, a portfolio is purpose tailored. It emphasizes logos when pursuing logo design work. It emphasizes web design for web design work. etc.

Good luck.

<comment><AUTHOR> Yeah, I realized that, but at the same time I thought maybe showing the younger "fun" side of me would be beneficial. Definitely something to think about... thanks for the input.

<comment><USER2> Consultants primarily sell their judgement and expertise.</comment></comment></comment>


Class of '78: Studying in the US Post-Cultural Revolution - <AUTHOR> http://www.sixthtone.com/news/1000910/class-of-78-studying-in-the-us-post-cultural-revolution <comment><AUTHOR> Amazing story.

"Second, I helped develop a groundbreaking new area for China. My landlady's son had an Apple computer. I'd never seen a computer before. I felt that the invention could change everything in human life, so I registered for computer language classes, learning alongside the college kids. I had to work hard to catch up as a person over 40 who had no knowledge of computer science. The computer center was open 24 hours a day, so I'd bring a cup of coffee and stay until 2 or 3 in the morning.

The skills I acquired helped me develop the fields of analog simulation and modeling when I returned to Tsinghua, combining computer science with traditional industry. This remains a cutting-edge field in China today, as it's the foundation of intelligent manufacturing. My contributions led to my membership in the Chinese Academy of Sciences, the highest national honor in science and technology."</comment>


The office that is just like a giant playground - <AUTHOR> http://www.dailymail.co.uk/news/article-2012240/Davison-offices-Pittsburgh-just-like-real-life-Willy-Wonka-factory.html

<comment><USER2> Wow -- some of those pictures show CRT monitors on employees' desks.

<comment><AUTHOR> That's what happens when you spend more on the atmosphere than their equipment :) Hope that wasn't what their first round funding went to.</comment></comment>


A regular expression matcher in 19 lines of Clojure - <AUTHOR> https://plus.google.com/117377434815709898403/posts/HQek48JMJb3

<comment><USER2> Repeating, mutatis mutandis, what I said in an earlier thread (<http://news.ycombinator.com/item?id=2723366>) about the C code on which this is based:

It's very nice pattern-matching code, but it isn't a regular expression matcher. The class of patterns it's able to match is much smaller than the class of all regular expressions -- not because of missing "sugar" (character classes, +, non-greedy wildcards, ...) but because it doesn't support groups or the | operator.

As a result, the language supported by this matcher has, e.g., no way to match the pattern (ab)* or the pattern a|b. It's much, much less powerful than an actual regular expression matcher would be, and much of what makes it possible to do it in 19 lines of Clojure is that loss of power.

(I've written extremely similar code before: this level of functionality -- basically, glob or DOS wildcards -- is pretty useful. I'm not Rob Pike, and my code for similar functionality would probably be longer than his. But my code, or even Rob Pike's code, for even the simplest thing that could honestly be called a regular expression matcher, would be longer than this by a bigger factor.)

</comment><comment><USER3> I'm no haskell hacker (by a long, long, long shot[0]), and I've played a lot more with Clojure than with Haskell, but I still found this easier to write and read in haskell than in clojure.

        matches :: String -> String -> Bool
        matches rs = dm ((fixHead . fixTail) rs) where
          fixHead ('^':rs) = rs
          fixHead rs = '.':'*':rs
          fixTail rs = case (reverse rs) of
            ('$':rrs) -> reverse rrs
            rrs -> reverse ('*':'.':rrs)
          dm "" "" = True
          dm ('.':'*':rs) (c:cs) = (dm ('.':'*':rs) cs) || (dm rs (c:cs))
          dm (r:'*':rs) (c:cs) = (dm rs (c:cs)) || (c == r && (dm (r:'*':rs) cs))
          dm ('.':rs) (c:cs) = dm rs cs
          dm (r:rs) (c:cs) = r == c && dm rs cs
          dm (_:'*':[]) "" = True
          dm _ _ = False

[0] I'm particularly ashamed of fixHead and fixTail and the way I special cased matching a star and nothing else against the empty string

edit: couldn't resist doing the golf thing

        matches :: String -> String -> Bool
        matches rs = dm (fixHead rs) where
          fixHead ('^':rs) = rs
          fixHead rs = '.':'*':rs
          cm r c = r == '.' || r == c
          dm (r:'*':rs) (c:cs) = (dm rs (c:cs)) || ((cm r c) && (dm (r:'*':rs) cs))
          dm (_:'*':"") "" = True
          dm (r:rs) (c:cs) = cm r c && dm rs cs
          dm "" _ = True
          dm "$" "" = True
          dm _ _ = False

<comment><USER3> Ok, now I'm done

        matches :: String -> String -> Bool
        matches ('^':rs) = dm rs where
          cm r c = r == '.' || r == c
          dm (r:'*':rs) (c:cs) = (dm rs (c:cs)) || ((cm r c) && (dm (r:'*':rs) cs))
          dm (_:'*':"") "" = True
          dm (r:rs) (c:cs) = cm r c && dm rs cs
          dm "" _ = True
          dm "$" "" = True
          dm _ _ = False
        matches rs = matches ("^.*" ++ rs)

</comment></comment><comment><USER4> LOC (Lines of Code) is not a good characterization of the quality of code; clarity and understandability is. The Clojure implementation is pretty nice on those counts.

The LOC measure may be important when, for example, the goal is to show the number of operations to be as small as possible.

<comment><USER5> _LOC (Lines of Code) is not a good characterization of the quality of code_

Actually it is. Or at least it's the best we have. When it comes to anything you can measure, the evidence points to program length as the best predictor of quality of code. And LOC is, for better or worse, the standard metric for code size.

We had a whole thread on HN about this a month ago. Specific studies are cited there. <http://news.ycombinator.com/item?id=3037293>

Speaking of which, someone later told me that Chapter 27 of McConnell's _Code Complete_ cites studies according to which bug count grows as a mild exponential function of code size. I don't have that book handy. If anyone does, can they look at Chapter 27 and tell us what it says?

<comment><USER6> My edition is copyright 1993. In Chapter 21.3, they cite Capers Jones 1977 "Program Quality and Programmer Productivity". (Couldn't find a handy link online, appears to be [http://www.amazon.com/Program-quality-programmer- productivit...](http://www.amazon.com/Program-quality-programmer-productivity- Technical/dp/B0006XJJ80))

They report the following table

        Project Size (LoC)       Error Density (Bugs / kLoC)
        0-2k                     0-25
        2k-16k                   0-40
        16k-64k                  0.5-50
        64k-512k                 2-70
        512k or more             4-100

So yes, the error _density_ increases with LoC.

</comment></comment></comment><comment><USER7> I so understand this [http://www.cs.princeton.edu/courses/archive/spr09/cos333/bea...](http://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html) way better than clojure. What matters? number of lines or readability? and I am sure the Clojure implementation would be better understood by people who understand lisp. Ofcourse I haven't played with clojure or any lisp dialects and the main reason for that is when I see a lisp code I see only "(" and ")". I still don't know how to get out of that.

<comment><USER8> The best way I found to see past the parens is to simply start writing some lisp. I recently started teaching myself by working through the problems on 4clojure.com, reading pg's _On Lisp_, and books like _Land of Lisp_, _Programming Clojure_, _Joy of Clojure_, etc., and even within a day or two of learning I found I no longer saw the syntax at all. In fact, one of the great beauties of Lisp and s-expressions is that the syntax is so so minimal and so consistent that it all but disappears. (Clojure is a bit more complicated, in that it introduces additional special forms for java interop, metadata, vectors and maps, but you get used to that quickly, too.)

A much trickier thing for me personally has been memorizing what all of the standard functions do, particularly bouncing back and forth between common lisp and clojure like I've been. Clojuredocs.org and the clojure source code itself have been essential companions in this journey.

So the only thing holding you back is the parens, then have no fear, you'll actually grow to love them (especially if you're an emacs user, thanks to show-paren-mode and electric-pair-mode and the like).

</comment></comment><comment><USER9> Both versions are really nice but I find the C version to be lots easier to understand (I come from a C background, so that's probably not a surprise).

What does this look like to an experienced lisp/clojure programmer, do they have the same feeling but reversed?

What about programmers familiar with other languages?</comment>


With HP tablet dead, who can challenge Apple? - <AUTHOR> http://www.msnbc.msn.com/id/44219255/ns/technology_and_science-wireless/

<comment><USER2> Someone who can turn over design of both hardware and software to a single team with a clear vision and give that team the authority to make any and all of the tough decisions required.

So far I haven't seen this from design-by-committee Google or the-enterprise- doesn't-need-that RIM. WebOS seemed like the closest thing, but it was buggy and hampered by slow and buggy hardware.

Apple's competitors are right to imitate it, but they imitate the end result rather than the process that led to that result, and so they end up with a product lacking a clear vision and goal that can't compete.

That and they always aim at where Apple is now, not where they will be in a year.

(Disclaimer: this comment written on an iPad.)

<comment><USER3> I disagree that the tablets can only be created by someone who has both the hardware and software capabilities.

Sure Apple has these abilities, but so does RIM and HP, and that didn't lead to success.

The number two in the market is not an end-to-end solution provider, and Microsoft (who is not really in the market) has almost 5% share.

I agree with the 'skate to where the puck will be, not where it is' comment, but I think this market is too young to comment on those sorts of things. Though tablets are selling very well (ipads in particular), it's like looking at a two year old and a one year old and saying 'the two year old is talking and can run around, look at how poorly the one year old can talk, and it can't balance very well'. But really, but the time they are 4 and 5, the differences get to be much more minor.

</comment></comment><comment><USER4> Amazon!I think amazon knows what it takes to challenge the iPad. Their success with the Kindle shows that it can produce a quality hardware product. Also, the fact that they've said very little about their plans suggests that, unlike HP they aren't going to release it until it's ready. And when it's ready, just like with the Kindle, they'll promote it on the front page of their retail site and provided that it's a good product and it gets good reviews it will take off.

<comment><USER5> Agree that our Amazon overlords have what it takes to challenge Apple in the post-PC era. Bezos has always taken price-competition to the bleeding edge of what can be accomplished. He's willing to lose money on a product to build marketshare, which is what it will take to compete with Apple.

</comment></comment><comment><USER6> Someone will produce a good product in the next 18 months. It's not rocket science, and there's an enormous pile of money. But adopting Apple's integrated model is a) not a sufficient condition and b) very threatening to existing business models. Apple's monopsonistic position w/r/t componentry is also going to mean that whoever intends to compete is not going to be able to do so on price, the traditional domain of the PC competitors.

I'd expect the _best_ competitor to be a hail-mary type of move from a dying supergiant (Samsung?), and the most successful to be from Amazon.

 _Standard disclaimer_ : former AAPL employee.

</comment><comment><USER7> There are two main companies in the tablet market: Apple, Google and Microsoft.

Microsoft isn't in the tablet market, but has a developer network and enterprise traction the others could only dream of. Having seen Windows Phone 7 and some demos of Windows 8, I have to say that as a tablet OS it'll be a lot better than WebOS or QNX in terms of user experience, and going out on a limb would be surprised if it's worse than honeycomb. What will make a massive difference is the ability to retarget your Windows 8 code for desktop and tablet without having to do an awful lot of work.

The downside of this is that I wouldn't be surprised if a lot of Windows 8 tablet apps are ports from desktop apps that don't fully take advantage of the tablet's capabilities, or address it's drawbacks. However, for things like games it will be incredible - think about DirectX on a tablet with halfway to Xbox 360 level GPUs and XBLA ports.

Of course Amazon could compete, fairly or unfairly. To me it makes massive sense for them to remain focused on Kindle and not pollute their own market but to bring Kindle's price down to the point where it can be given away with Prime subscriptions, then go in for a tablet. Having an Amazon table compete with Kindle doesn't sound like a great idea to me.

</comment><comment><USER8> Microsoft.

After spending more and more time with my iPad2 I've discovered the three most important things it has:

1) Lightweight.

2) Superfast startup.

3) Long battery life.

If PC manufacturers could make a convertible MacBook Air class machine for $600 that had 7 hour battery life (which is about what the MBA has now) and could start up as fast as an iPad then I think I probably would never use the iPad. That said, what I laid out I don't think is particularly easy for PCs and Windows.

There's the whole app store thing, but I find that I spend most of my time in email and the web. Some key apps are important, but frankly I think they'll be on Windows 8 pretty quickly -- especially given it will have an app store with probably 100M customers within a few weeks.

<comment><USER9> Before you start making assumption based on your limited exposure... Talk to friends and colleagues who have an iPad and ask them ... You may be surprised to find some of them are highly app dependent.

The convertible you're talking about is called the eeepad transformer. Is it selling well?

</comment></comment><comment><USER10> I really thought HP was the company. They had engineering, channels, and logistics. If Microsoft would pull and XBox, they probably have a shot. I just don't understand their lack of desire to use WP7. Whoever is going to compete needs a wad of cash and their logistics done well.

The problem is it looks more and more like the tablet market is mirroring the the iPod market (most people bought iPods but some went for the more sophisticated competition).

</comment><comment><USER11> Resistance is futile

<comment><USER11> Wow, looks like the Mac fans got me. Resistance really is futile...</comment></comment>