Ask HN: What would you consider to be the roles/duties of a CTO? - <AUTHOR>

Asking in the context of an organization with a large labour pool (i.e.: warehouse workers), and some key technologies (operations software, vendor connections, etc) --- but not a "technology" company per se.<p>Obviously this depends on the industry, and specific business, but I'm just looking for general 30,000ft perceptions. I would imagine it to include things like managing IT operations (i.e.: keeping the lights on), capacity planning, capex decision-making, etc. What are your thoughts? <comment><USER2> Here's how I see it:

Chief Technical Officer = Someone who looks at the market, trends, how their competition or potential competition are evolving their product(s) & trys to anticipate users demand within ~5 years. In other words a CTO is someone who uses their knowledge of tech to make money _but_ they don't think about the exact details; they hire people to do that.

However, in order to help the CTO companies usually have a CIO (although that role is considered to be diminishing):

Chief Information Officer = Understands tech & uses it to reduce expenses & contain cost of growth</comment>


India's economy is now growing faster than China's - <AUTHOR> http://www.economist.com/news/business-and-finance/21642656-indias-economy-grew-faster-chinas-end-2014-catching-dragon

<comment><USER2> That was quick.</comment>


Google urges fast adoption of VP9 video compression - <AUTHOR> http://news.cnet.com/8301-1023_3-57584706-93/google-urges-fast-adoption-of-vp9-video-compression/

<comment><USER2> Yes! Let's save some bandwidth. It is great that there is no licensing involved. What is also wonderful with the speed that browsers are being updated we can get a high percentage of adoption of new codecs without depending on proprietary browser plugins AKA Flash.

I'll also mention that the ON2 people write great code which is also well documented. I had an opportunity to work with their VP6 decoder in a previous career / life time.</comment>


Show HN: Bruce – A CLI based batch file rename utility - <AUTHOR> https://github.com/abhikpal/bruce <comment><USER2> It's great that people are trying to make these simple jobs better. I like this, it is sophisticated. But I think vidir[1] is still quite sufficient for my personal needs.

[1]: [https://joeyh.name/code/moreutils/](https://joeyh.name/code/moreutils/)

<comment><AUTHOR> Just looked up vidir. It looks very convenient for smaller folders.

I use spreadsheets to maintain information about my course readings and needed a way to use that to rename the mass of PDFs stored locally on my machine.

</comment></comment><comment><USER3> I use this[1] written in Go.

[1]: [https://github.com/laurent22/massren/](https://github.com/laurent22/massren/)</comment>


Show HN: Query an RDBMS in JSON (an interactive demo) – Hasura - <AUTHOR> http://demo.hasura.io/querying-rdbms-in-json <comment><USER2> Looks interesting. How are permissions handled?

<comment><USER3> One of HasuraDB's engineers here. Permissions are declaratively configured. You can look at the source for the demo here :

[https://github.com/hasura/demo1-config/tree/master/hasura- db](https://github.com/hasura/demo1-config/tree/master/hasura-db)

*_permissions.yml are used to configure permissions.</comment></comment>


bfc.rb : Compile BrainF*** code to Ruby, C, Haskell, Scheme and LLVM - <AUTHOR> http://ujihisa.blogspot.com/2009/12/bfc-brainfk-compilers.html

<comment><USER2> If you're into brainfuck and compilers, here's one that compiles BASIC into brainfuck and is written in java: <http://esolangs.org/wiki/BFBASIC>

It's advanced enough to compile things like text adventures.

I haven't been in #esolangs on freenode for a long time, but a few years ago there was talk of a brainfuck to C compiler floating around that was being actively developed. It as called bf2c.</comment>


Closed Open Source? Why can't Google be more like Microsoft? - <AUTHOR> http://www.theregister.co.uk/2009/11/25/google_chrome_os_closedness/

<comment><USER2> This article is ridiculous crap. At the end of the day, Google _gives you their freakin' code_ , damn it. This means that if you're not happy with the way Google is running things, you can go ahead and fork your Chrome OS or Android. And if you do manage to build something significantly better than what Google can offer and people use your stuff over theirs, _there's nothing Google can do about it_.

Jeez.

<comment><USER3> Discussion / constructive criticism of open source code management or business decisions that affect developers shouldn't just be dismissed with a "fine then if you're so smart just fork the code, jeez".

<comment><USER4> Sure, but starting off the discussion by implying that Google is somehow less open than Apple or Microsoft is really just flamebait. If the Register were really interested in inciting change, they could use a headline like "Google May Be Open, But Keeps Community In The Dark".

</comment></comment></comment><comment><USER5> I was amazed when Google released Chrome (the browser). One day there was nothing, the other day there was web comic explaining dream about the browser and the next day there was the browser itself.

How could they build a web browser in complete secrecy without anyone spilling a word about it to the public?

I didn't know it was possible in times when even government documents make their way to the web and copyrighted movies are routinely published as torrents days before their premiere.

<comment><USER6> How about any product released by Apple? That's complete secrecy.

<comment><USER7> Well, FSJ (Fake Steve Jobs) jokes that they have a squad of ex-Israeli Special Forces guys on pay to punish any traitors. Given the results, I half-believe it. Can't imagine how it could be achieved in another way.

</comment></comment></comment><comment><USER8> _Chrome OS isn't built for developers. It's built for Google. And online advertisers._

ChromeOS is built for users. The comparison in this article is ridiculous. Somehow because Google does not provide a developer prerelease they are anti- developer. It seems to me there is plenty of time to develop: there is a a period of time between when Android gets released and when it gets onto the handset of your choice.

If you are writing a development tool that you need early access to releases perhaps it's best talking to google. I'm sure that Google is willing to work with anyone who is supporting their platform.

<comment><USER9> _ChromeOS is built for users. The comparison in this article is ridiculous._

Nothing Google does is for "users". Advertisers are Google's customers. Users are Google's _product_.

<comment><USER8> Nothing? That's pretty bold. Google has begun to charge for services in the cloud: this though is a competitive environment. I see ChromeOS as a move to build a user-base for they cloud-based software services. Some of those services will be advert funded, but no-doubt they will have a paid model too.

How something is funded is separate from who it is designed for. For example newspapers copy is partly funded by advertisements too as is television. The product in both these cases is not the readers/viewers.

Most of what Google does is for the users, as they want to keep their market share. The same way that a television station needs good programming to keep viewers.

<comment><USER10> By that circular reasoning you could also say that developers are important, since that's the way to attract users ... since nobody will use your OS if it isn't capable of running your favorite apps.

I know that the browser is the new OS and all that crap, but a laptop/netbook capable of only running web apps (or apps designed for Chrome's APIs) seems pretty pointless to me. And I'm really thankful for Moore's law ... with multi-core Intel/ARM processors, and all those GPUs ... you'll now be able to run your all your apps in a browser. That's a serious accomplishment.

Developers should be able to choose the platform based on real technical requirements, not on artificial limitations. All your applications running in the cloud? Who's cloud?

Meet the new boss, same as the old one.</comment></comment></comment></comment>


Better Portable Graphics - <AUTHOR> https://en.wikipedia.org/wiki/Better_Portable_Graphics <comment><USER2> Image compression is complicated. Licencing topics, decompression cpu time, decompression memory use, decompression memory bandwidth use, compression time, is asymmetric slower but more efficient compression available, multi- threading, how much of the decoding can be shadowed during the data transfer, how many levels of progression are preferred, global image artefacts (such as banding) that don't appear in objective metrics, inter-frame copying ending up copying strange stuff around, red colors tend to not to be compressed with great success (there is no gamma compression for red in the eye, but in image formats there is), how much the image format is for the eyes and how much for the metrics, are the results the same on different platforms/implementations, is alpha supported, how good is the HDR modeling and its rather non-linear relations to gamma and colors in general, does the image format tend to preserve the quality of materials such as wood, marble, skin, cloth -- or replace them with cheap plastic imitation, some image formats work dramatically well at low BPP (<0.5) but start failing when compared to old JPEG at higher BPP (2.5+ BPP). Some image formats decode only a few megapixels per second which can be a disaster if your images happen to be in the 40 megapixel category.

Overall, it is a very complex landscape.

<comment><USER3> > _there is no gamma compression for red in the eye_

What does this mean? Do you have a citation to a source explaining whatever this is trying to say using precise standard color science terminology?

<comment><USER4> Don't you know every HN thread needs its standard armchair top comment rebuttal on how TFA is actually wrong and the author is naive and doesn't really understand the problem with all its intricacies?

<comment><USER5> The top comment rebuttal is written by the author of the WebP lossless, [https://github.com/google/butteraugli](https://github.com/google/butteraugli) and [https://github.com/google/pik](https://github.com/google/pik) so calling it armchairing doesn't really seem appropriate.

<comment><USER6> Ouch

</comment></comment></comment></comment></comment><comment><USER7> Please see AVIF ([https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_(AVI...](https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_\(AVIF\))) for an open, royalty-free alternative with similar or better performance.

And if you must use HEVC-based imaging, consider HEIF which has considerable support.

<comment><USER8> HEIC/AVIF container is a complicated kitchen sink. It's closer to being a PowerPoint file than an image format. It's an unnecessarily large attack surface and a ton of features that nobody will (correctly) use anyway. The reference implementation is a ton of C++ code I would not dare to use in a security-sensitive application. OTOH libpng is a single C file, and it just wraps a single HEVC payload.

For that reason I'd say that if you can license HEVC, use BPG, not HEIF. And I'd love to have an AV1-based BPG version.

<comment><USER9> small typo: _libbpg_ , not _libpng_

<comment><USER10> Thanks, very small but led me to jump to complete misunderstandings about bpg, png, and libpng

</comment></comment></comment></comment><comment><USER11> You can see how unbelievably better this is than JPG (at almost any file size) here:

[http://xooyoozoo.github.io/yolo-octo- bugfixes/#swallowtail&j...](http://xooyoozoo.github.io/yolo-octo- bugfixes/#swallowtail&jpg=t&bpg=t)

Or here:

[https://bellard.org/bpg/lena.html](https://bellard.org/bpg/lena.html)

The difference between webp from the first link is actually quite small ([http://xooyoozoo.github.io/yolo-octo- bugfixes/#swallowtail&w...](http://xooyoozoo.github.io/yolo-octo- bugfixes/#swallowtail&webp=t&bpg=t)).

Additionally you can find the Javascript decoder here:

[https://github.com/xingmarc/bpg-decoder](https://github.com/xingmarc/bpg- decoder)

It's 215k of Javascript though so isn't really that practical in most cases and I'd worry about how it was affecting battery life. It'd be very interesting to do some tests and see.

<comment><USER12> > unbelievably better

I don't know that this qualifies as unbelievable. This is just good marketing and spin. The image in that link is exploiting the fact that modern codecs specify upsampling filters, so the HEVC half looks smoothly varying while JPEG can, per spec, only look pixelated when blown up like that.

There's absolutely no reason that thing couldn't have shown you a jpeg image rendered with bilinear filtering, which of course is what you'll see if you put that JPEG on a texture and scale it up using the GPU.

But it didn't, because it wanted to convince you how much "unbelievably" better HEVC is. Meh.

I mean, to be clear: HEVC is absolutely better, to the tune of almost a factor of two in byte size for the same subjective quality. Just not like this. If you've got a site where still images are a significant fraction of your bandwidth budget (and your bandwidth budget is a significant fraction of your budget budget) then this could help you. In practice... static content bandwidth is mostly a solved problem and no one cares, which is why we aren't using BPG.

<comment><USER13> > There's absolutely no reason that thing couldn't have shown you a jpeg image > rendered with bilinear filtering, which of course is what you'll see if you > put that JPEG on a texture and scale it up using the GPU.

That's not true, this particular JPEG will not look smooth on a GPU. The visible blocks are 8x8 pixels, not 1 pixel. The blocks would still be blocky because the compression has reduced them to only the DC component. This means the JPEG decode would still decode large blocks into texture memory and the GPU would still render large blocks with a slight blur between the 1 pixel borders of the 8 pixel blocks.

> In practice... static content bandwidth is a mostly solved problem and no > one cares, which is why we aren't using BPG.

I don't believe that's true either. I don't know what you mean about bandwidth being "solved", but more data is more data. If everyone could reduce their static images today by 2x without thinking, I'm pretty sure they would. I would on my sites if I could. The reason that BPG (or any other format!) isn't yet being used is lack of browser support and tools and licensing and consensus, not because nobody cares about bandwidth. If what you said is true, then JPEG & PNG would never be replaced, but it's already starting to happen.

<comment><USER12> The point was that, to first approximation, the internet is YouTube and Netflix. Static images are noise.

And I'm sorry, but if that JPEG is showing artifacts like that it was simply miscompressed, likely deliberately. I repeat, there is absolutely no reason an image of there same byte count cannot look just fine on that screen. For goodness sake, just reduce the resolution if nothing else.

<comment><USER13> The JPEG was compressed to death deliberately, yes. That's the point of the comparison; for the same (tiny) data size BPG gives you a clearly better result. BPG is workable in situations where JPEG isn't.

> For goodness sake, just reduce the resolution if nothing else.

Reducing the resolution would not work and is not the same thing. You would still get 8x8 DC blocks in a smaller JPEG at the same compression rate, and higher detail in the BPG. The BPG is provably better than the JPEG, and since you already know that and talked about it above, I'm a little confused by your argument.

<comment><USER14> I think there often is a point when reducing the bitrate further while keeping the same resolution is a worse choice than dropping the resolution. I believe one of the tricks of AV1 is to internalise this trade-off.

More generally, doing visual comparisons of codecs is full of traps. Since quality often falls off rapidly at a certain point it's possible to show your codec off by choosing the exact point to compare to maximise the difference. This is almost certainly the case if you're comparing against jpeg and it's starting to totally fall apart.

It's not that it doesn't correctly show that one is worse than the other but it's probably not a good visual reflection of the true scale of the difference any more than ramping up the bitrate until everyone would think they are indistinguishable.

<comment><USER13> Sure, yes, but the comparison in question isn't the only comparison, it's just one of many. Letting people see the difference visually for themselves is more tangible and less questionable that putting up two file size numbers and claiming they're equal quality. And if you think about it, it similarly wouldn't completely be fair to BPG to turn up the quality so that the JPEG looked reasonably good, because the BPG file would be in the range of diminishing returns per byte.

It is fair to point out that JPEG falls apart below a certain compression threshold while BPG doesn't, even if it's a little bit apples to oranges. I prefer the way @enriquito said it [https://news.ycombinator.com/item?id=20419900](https://news.ycombinator.com/item?id=20419900) but I disagree with the hyperbolic claims in this thread that this comparison is outrageous or complete spin or cheating. It's a data point that has some actual merit, and BTW happens to agree with the other data points we have.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Presuming this was posted by someone exploring the works of Fabrice Bellard after reading the HN comments here [https://news.ycombinator.com/item?id=20411154](https://news.ycombinator.com/item?id=20411154)

<comment><USER16> This pattern continues to amuse me. I wish for some analysis of these connectivity graphs, but I guess it's near-impossible to do accurately without capturing the poster's history and looking at how they stumbled from previous HN posts/comments onto the thing they post now.

<comment><USER17> It also crosses site boundaries. [https://news.ycombinator.com/item?id=20366844](https://news.ycombinator.com/item?id=20366844)

<comment><USER16> Which is why I think user's browser history would be needed. And that's not possible to do at statistically significant/useful scale.

</comment></comment></comment></comment><comment><USER18> The guy who wrote BPG is a legend. I was looking at his home page where it lists cool projects - [https://bellard.org/](https://bellard.org/) and I was thinking this is a great list of really popular projects. Then I realized he made all of them! People that make this many important contributions should be better recognized.

<comment><USER19> QuickJS is a great little JS engine as well that he wrote and is super easy to embed :)

</comment></comment><comment><USER20> And once again software patents are the hair in the soup.

<comment><USER21> Agreed. An AV1 based format would be more interesting, and likely have better compression ratios.

<comment><USER22> See AVIF: [https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_(AVI...](https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_\(AVIF\))

</comment></comment></comment><comment><USER23> Anytime I see anything with Fabrice' name on it I'm immediately intrigued. He's just on a different level. His list of projects is simply astounding. I can duly recommend checking out some his other projects at [https://bellard.org](https://bellard.org).

</comment><comment><USER24> sans patent issues:

[https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_(AVI...](https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_\(AVIF\))

still waiting on the software support.

</comment><comment><USER25> iOS is already using HEIF, which is basically the same thing in a different container format. That seems a much more likely candidate for actually being taken up.

<comment><USER25> Correction: In addition to macOS and iOS, Windows 10 and Android apparently also support it already.

</comment></comment><comment><USER26> Fabrice strikes again! FFMPEG, QEMU, TCC . . . .

[https://bellard.org/](https://bellard.org/)

<comment><USER27> How this guy finds the time to work on these very different projects? Some of them require skills that are very specific, how can you pass from writing QEMU to TCC to the 4G station ... What does he do for living, how does he spend his free time?

<comment><USER28> Writing emulators, compilers, operating-systems, and codecs are all standard- skills of any low-level systems programmer. My _entire_ team of 50+ people are capable of doing this stuff. The difference between us & Fabrice are: (1) we work for a major company & none of our stuff is publicly available; and, (2) he's still at least head-and-shoulders above most of the people doing this. He'd easily be in the top 5 for my team, and certainly better than of the kids under 40.

</comment></comment></comment><comment><USER29> patent encumbered. non-starter.

<comment><USER30> Seems like the same strategy starting with AV1 would be a good solution.

<comment><USER7> [https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_(AVI...](https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_\(AVIF\))

<comment><USER30> Thanks. I went to the AV1 page but didn't notice that section. Seems promising, with implementations already cropping up.

</comment></comment></comment></comment><comment><USER31> I'm looking forward to FUIF - Free Universal Image Format [https://cloudinary.com/blog/introducing_fuif_responsive_imag...](https://cloudinary.com/blog/introducing_fuif_responsive_images_by_design) Created by the same person who created FLIF (already an amazing format)!

Better yet, it's probably the most-likely technology to be accepted into the upcoming JPEG XL standard!

<comment><USER17> The problem with FUIF is probably that it's not all that efficient at encoding images, which is probably why there are _zero_ comparisons or demonstrations of the actual images that can be found easily by going to the repository or the authors' blog. The one FUIF image I've seen was the one in their clip showing generational loss with various codecs.

<comment><USER32> FUIF has the ability to losslessly transcode from JPEG. This will make it very useful in a couple of important use cases. But by constraining itself to DCT in this way, I assume it performs relatively poorly compared to other modern alternatives when compressing from a RAW source.

</comment></comment></comment><comment><USER33> You can already use native av1 to display images in browser. You simply encode your image to a single frame av1 webm with ffmpeg. Browsers will automatically display the first image fully rendered, because it acts as a thumbnail. Afaik no need for autoplay privledges.

</comment><comment><USER34> Is there a reason that browsers don't jump on the bandwagon and implement codecs for all reasonably-stable image codecs (save this one, which seems to be patent encumbered)?

i.e.: why doesn't Chrome support AVIF? Is it because it competes with their own invented-here WebP?

It seems like adding new image codecs for given content types would be pretty trivial if the libraries are available and stable and license compatible; why be conservative and not just support the newish ones to help the best ones gain traction?

It seems like browser vendors are just dragging their feet.

<comment><USER35> Because browsers have an enormous API/file support surface as is, and each new image format can be a significant amount of code to support essentially forever.

Webp now is supported by pretty much every browser, but a lot of image viewers don't support the format yet. There has to be a certain amount of momentum to justify supporting a new image format.

</comment></comment><comment><USER36> There is also FLIF ([https://en.wikipedia.org/wiki/Free_Lossless_Image_Format](https://en.wikipedia.org/wiki/Free_Lossless_Image_Format)) which has a nice property: it is adaptive by design, that is, you can only look at the first X bytes and get a first approximation of the image, and the further you go, the better it becomes. It also allows for both lossless and lossy compression.

I wonder how they compare.

(Don't take my word for that, I'm no expert on the subject)

<comment><USER37> JPEG does that too, you can enable progressive rendering in the encoder. Having it enabled does not make the image larger in my experience.

</comment></comment><comment> m-p-3 I knew I recognized that name, it's one of the main ffmpeg and QEMU developers! If BPG is up to the same quality than those two, then it has to be a great format!

</comment><comment><USER38> Apple has unilaterally pushing their HEIF format to replace JPEG after iOS 11 - to combat the criticism of they differentiating their iPhone/iPad by storage sizes and artificially make the base model a very small capacity (16GB for the longest time) and their storage not customer replaceable.

[https://support.apple.com/en-us/HT207022](https://support.apple.com/en- us/HT207022)

</comment><comment><USER39> _" Patent issues may prevent JPEG replacement by BPG despite BPG's better technical performance.[6]"_

BPG meet GIF, GIF meet BPG. The most annoying thing about GIF in the early days were the damn Compuserve patents that they would go out of their way to hassle you with if they thought they could.

</comment><comment><USER40> What about encoding/decoding performance?

> Current research works on designing and developing more energy-efficient BPG > hardware which can then be integrated in portable devices such as digital > cameras.

I guess it doesn't really matter that much, but I'm still curious.

</comment><comment><USER41> Does something similar exist with AV1?

<comment><USER42> [https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_(AVI...](https://en.wikipedia.org/wiki/AV1#AV1_Image_File_Format_\(AVIF\))

</comment></comment><comment><USER43> That's it? we're milking Bellard's treasure cave for upvotes now?

<comment><USER44> I'm sure there are people who haven't been on HN for ten years who haven't seen it. There's no Hacker Canon to discuss this stuff so people repost it here.

</comment></comment><comment><USER45> Fabrice Bellard is a monster. I want to be just like him when I grow up. With a monstrous list of accomplishments.

</comment><comment><USER46> Why bother when we have PNG?

<comment><USER47> Totally different algorithm for different purposes. PNG is lossless encoding, doesn't work well for photographs or complex images.

<comment><USER48> PNG works really fine for no HDR photos if you not are worry about the size.

<comment><USER49> And BMP, TIFF, DPX, EXR etc all work really fine if you are not worried about the size.

But being worried about the size is the whole point of image compression.</comment></comment></comment></comment>


The 892 unique ways to partition a 3 x 4 grid - <AUTHOR> http://www.dubberly.com/concept-maps/3x4grid.html

<comment><USER2> Really? They have a patent on this??

This simply does not seem like a hard problem to solve. Certainly easier than, say, many Project Euler problems.

</comment><comment><USER3> It's too bad they don't post the MATLAB program used to generate these partitions. It is not known whether there exists a polynomial-time algorithm for finding orbits. I wonder what the largest grid size (n×m) is for which they've enumerated all possible partions.

</comment><comment><USER4> Out of the blue (I did not look into the paper) I would have taken a stab at it like so:

I would start from the 12 case then remove one internal edge, which makes for all the 11 cases, then removing two edges (or one more edge if we're building a tree), and so on down to 1. We'll have to evaluate a few constraints on edges so as to ensure to only retain forms when they are rectangles.

After that (or at each step if you don't want the full list) we look for duplicates through rotation and symmetry. A possible implementation of the latter would be to model each case by numbering edges, and absence/presence of edges will set that bit/power of two, thus each case is a bitfield/integer, upon which we could apply a rotation function that tilts the bits, and then merely compare the resulting integers.

I guess this would be very close to a worst case in terms of complexity since it's essentially brute-force. Well, there are 17 edges to consider so that's 2 __17 possibilities.

</comment><comment><USER5> Really great image however I was confused by one comment on the page suggesting there are more than 892 variations.

 _"I was confused at first because so many partitions are not on the poster. I see that this poster has culled horizontal and vertical symmetries, but the entry is titled "the 892 unique ways to partition a 3×4 grid." Given this, I think a poster with all 3,164 partitions would have been (counter intuitively) more elegant. Or if the poster had just been titled "892 unique ways to partition a 3×4 grid."_

<comment><USER3> There are 892 unique arrangements of unit rectangles in a 3x4 grid when you consider two arrangement which are rotations or mirror images of one another to be the same arrangement. When you count each arrangement _and_ any rotations/mirror-images of that arrangement, there are 3,164 partitions.

Example: This partition:

      +-+---+-+
      | |   | |
      | |   +-+
      | |     |
      | |     |
      +-+-----+

...is just a rotation of this partition:

      +-+---+-+
      |     | |
      |     | |
      +-+   | |
      | |   | |
      +-+---+-+

There are 3,164 partitions if we say the above figures are distinct; if we call the above figures the same partition (but shown in two different orientations) then there are only 892 partitions.

<comment><USER5> That makes sense. Thanks for the explanation.

</comment></comment></comment><comment><USER6> I love this sort of grid.

Along similar lines, last year I made a grid of all the possible 3x3 weave mazes. I think it would make a cool poster. [https://github.com/robinhouston/maze- experiments/blob/master...](https://github.com/robinhouston/maze- experiments/blob/master/three-by-three/all-the-3x3-weave-mazes.png)

(The classification is not difficult, in this case: [https://github.com/robinhouston/maze- experiments/tree/master...](https://github.com/robinhouston/maze- experiments/tree/master/three-by-three))

<comment><USER7> It would be a cool poster but I'd change the colours. The swastika and very similar shapes appear a few times in it (which is understandable) but you're also using two out of the three colours from the nazi flag. I could see this potentially leading to awkward and hurried explanations.

<comment><USER8> When there's obviously no neonazi intentions there's nothing wrong with swastikas. Red black and white are pretty basic colours, you can't suggest that either.

There's something wrong with the people who'd make such conclusion, and not self-censoring will help get rid of connotations.

</comment></comment></comment><comment><USER9> I don't follow. What are they exactly patenting here (i.e. what doesn't one want to do not to get his behind sued)?

Partioning a grid? An algorithm for efficiently partitioning it?

In effect, what? Windows 8 gets sued? [http://blog.docstoc.com/wp- content/uploads/2012/03/windows-8...](http://blog.docstoc.com/wp- content/uploads/2012/03/windows-8-screenshot.jpg)</comment>


Show HN: Reign in Mobile devices with a poor man's Powershell solution - <AUTHOR> https://gist.github.com/Madawar/52cd046894d89c8a4a6e40dfe4025047 <comment><AUTHOR> I created this small script to be cleaning out DHCP leases from our server at several intervals, hopefully it will be useful to someone else who does not see the need of buying specialized hardware/software to sort it out. Had googled for a solution and found none that fitted my needs. It currently filters out Iphones, Nokia, Android phones.</comment>


Cross Platform Mobile - <AUTHOR> http://martinfowler.com/bliki/CrossPlatformMobile.html <comment><AUTHOR> Fowler's summary is:

\- Don't use cross-platform toolkits

\- For maximum reach: built a web app that looks like web app

\- To appeal to a particular platform: build a native app for that platform, with a experience design based on that platforms interaction style

<comment><USER2> Unfortunately he didn't really have any specific examples from some of these cross platform toolkits or SDKs. I've played with Appcelerator/Titanium, and the drawbacks are obvious : no IDE and debugging is painful.

What about some of the others: Airplay, Corona, Cocos2D-X? Has anyone actually tried some of these that could give more insight?

<comment><USER3> > What about some of the others: Airplay, Corona, Cocos2D-X? Has anyone > actually tried some of these that could give more insight?

Toolkits you mention are geared towards cross-platform 2D and 3D graphics, i.e. game development. They do not deal with native controls at all, you have to take care of buttons, menus, touch control etc. yourself. My guess is that Martin Fowler is talking about view-based applications.

</comment></comment></comment><comment><USER4> > _Getting good UI controls are almost impossible, but that's not the biggest > issue - which is more about the overall user experience. Different platforms > have different ways they expect you to use them that alter the entire > experience design._

In my experience, he is right, but it's more subtle than that.

We once built an iphone app with phonegap and HTML5 (back when phonegap had native iphone tab controls). It looked native, it seemed native, but it just didn't feel right.

Our current iphone app uses titanium mobile, which (from a UI perspective) is native - and it feels completely native. Even though under the hood it's interpreted Javascript and not objective C.

The advantages of using Titanium over Objective-C are; I'm already quite handy with Javascript, and Titanium comes with a honking great API example called KitchenSink.

</comment><comment><USER3> I tried several cross-platform tools and web toolkits. Appcelerator is too clunky, flaky and community support is virtually non-existent (this is not a blame, mind you, as their business model is built around paid support, and I totally understand the lack of answers on community forums). I'll take another look at them once they integrate with Aptana (IDE that they acquired).

jQuery mobile (boxed into PhoneGap or not) is dog slooow once your page sets or lists get too big, and like some mentioned, interaction just does not feel right sometimes.

One approach that I like is that of applitude (<http://applitude.org/>). It is DSL for description of view-based applications that is translated source-to- source to Objective C (It is iPhone only). Unfortunately this project looks like one man effort and is not under active development. But I wonder if this is the approach that some cross-platform toolkits should take.

</comment><comment><USER5> I think he is saying we shouldn't use jQuery Mobile because it's a web app that tries to look like a native app.

</comment><comment><USER6> I question Martin's line of thinking. If customers don't want the resulting product, jumping straight to native apps risks slow, misuse of effort _times N_.

PhoneGap, SproutCore and the like are great if there's a need to get something going right now. Then, in all likelihood, such would be replaced with native apps later.

For example, it seems an obvious approach to have hybrid apps begin with a native skeleton app continually evolve with cross-platform web flows backfilled with more native as the product gets traction and has an opportunity has time to specialize.

Evernote did this on a RIM app. It's not shameful either, it's brilliant expedience.

Update: forgot to mention up-and-coming portable js platform Game Closure.

</comment><comment><USER7> I'm stumbling around this very issue right now, but his recommendations would not work if you need to interface with native hardware functions such as the camera. It would be great if there were a web interface into native functionality, however. What are the obstacles to os developers providing it?

<comment><USER8> You shoudld try <http://www.phonegap.com/>

</comment></comment><comment><USER9> My advice is take jQuery Mobile, extract the parts you care about and build your web app your own way. You don't have to use the whole thing. I agree with not trying to emulate native apps.</comment>


Google's Next Generation Music Recognition - <AUTHOR> https://ai.googleblog.com/2018/09/googles-next-generation-music.html <comment><USER2> I take it it's not a coincidence this came on the heels of the Shazam acquisition.

Has anyone used both? I've used Shazam a dozen times and it's good.</comment>


Ibex: A small 32-bit microcontroller-class RISC-V CPU core - <AUTHOR> https://www.lowrisc.org/blog/2019/06/an-update-on-ibex-our-microcontroller-class-cpu-core/ <comment><USER2> Ibex was born as "Zero-riscy", which had a smaller sibling named "Micro- riscy". [https://ieeexplore.ieee.org/document/8106976](https://ieeexplore.ieee.org/document/8106976) gives an indication of power consumption and clock speeds:

"Micro-riscy is 1.6× smaller than Zero-riscy (~11.6 kgates in UMC 65nm), has a power envelope of just 100μW at 160MHz and it is 1.4× more energy efficient than Zero-riscy on pure control code."

Given the renaming, Micro-riscy could well be equivalent to an Ibex with the minimal area "E-extension".

I wish some big name would pick this core and create a line of cheap low-power MCU's from 10 to 100 pins. To my knowledge only Espressif's next chip, after the soon to launch "Chip 7", is known to likely be a RISC-V. Bound to be hugely popular because of low-power, high clocks, code-efficieny, Rust compatibility and a smooth upgrade path. What's not to like?</comment>


Why Germans Work Fewer Hours but Produce More: A Study in Culture - <AUTHOR> http://knote.com/2014/11/10/why-germans-work-fewer-hours-but-produce-more-a-study-in-culture/

<comment><USER2> [https://hn.algolia.com/?q=Why+Germans+Work+Fewer+Hours#!/sto...](https://hn.algolia.com/?q=Why+Germans+Work+Fewer+Hours#!/story/forever/0/Why%20Germans%20Work%20Fewer%20Hours)</comment>


Libertarian communism - <AUTHOR> https://libcom.org/notes/about <comment><USER2> For a great and concise introduction to Libertarian Socialism here is a classic Noam Chomsky lecture from 1979 called The Government of the Future, in which he gives a justification for Libertarian Socialism, or Anarchism, as the natural and correct form of government for advanced industrial society from the classical liberal ideals of the enlightenment. He also compares the competing economic and social ideologies, laissez-faires capitalism, state capitalism and state socialism.

[https://www.youtube.com/watch?v=WLDQGdKyh7s&index=1&list=PLE...](https://www.youtube.com/watch?v=WLDQGdKyh7s&index=1&list=PLECDCA6E60C087344)

Edit: here is the text of the lecture if you'd rather read it. [https://libcom.org/library/government-future-noam- chomsky](https://libcom.org/library/government-future-noam-chomsky)

<comment><USER3> Thanks for the link!

Do you have a similar great and concise introduction to Nazism or other related extremist totalitarian ideologies?

<comment><USER4> How is anarchism a "totalitarian" ideology?

I have been reading in the press about how the NSA, the CIA, the FBI etc. want an encryption backdoor in everything Americans use, so we can be spied on at will. I don't see why this isn't totalitarian and somehow anarchism is. Anarchism means no state, whereas totalitarianism means total state control, yet you're saying no state control means more state control. It makes no sense.

<comment><USER5> I don't think the intention was to link them together, just to ask for introductions to other alternative ideologies.

It's not good to put words into other people's mouth. PlzSnow never said anything about less state control meaning more state control, for example.

</comment></comment></comment></comment><comment><USER6> > _" Those of us with nothing to sell but our labour power"_

This is the weirdest thing about the dichotomy of Communism's popular resurgence in tech circles. In literal terms, our 'labour power' is fingers on a keyboard. Doesn't the real value in our work come from our _ideas_? Technology is a lever for ideas, and that lever can be exploited by creativity in a way that few other areas of human endeavor can match.

So, if the value (benefit? effectiveness?) of our work is measured by our ability to be creative, how does one reconcile that with pure labour valuation, which is evocative of the standard-dollars-for-hours exchange?

I'd be interested to hear from any self-professed communists about this.

<comment><USER7> > This is the weirdest thing about the dichotomy of Communism's popular > resurgence in tech circles.

The weirdest thing to me is that it's pretty hard to produce and maintain software systems in the face of limited resources, interactions with the real world, bosses that don't know what's going on, etc. But somehow it seems not just possible but _optimal_ to top-down design the ways billions of people live their lives. It really doesn't matter if the designer is one person or a committee of the proletariat. That's an NP-ridiculous problem.

In the fact of that, I'd rather individuals make decisions about their own lives.

<comment><USER6> Haha, I've often had that thought myself. Add to the above the fact that human behavior is probably an order of magnitude more complex than any software system ever designed.

</comment></comment></comment><comment><USER8> Well, I never thought I'd see the day libcom was posted up on here. I spend a bit of time on their forums about 10 years ago - used to be a bit of a bearpit, don't know what it's like now.

The archive is interesting, though. A lot of material from outside what you'd strictly call libertarian communism, but just niche even within the already niche worlds of anarchist/Marxist/etc theory.

(Thought I'd better post something before it gets flagged to the bottom of the ocean.)

</comment><comment><USER9> Not entirely sure why libcom's the top of HN. They've been posting the same misrepresentations and misunderstandings of markets for years.

<comment><USER4> Who is misrepresenting? In 1962, the USSR had markets where people exchanged rubles for potatos, just as in the 1962 USA, there were markets where people exchanged dollars for currency. Not much difference marketwise, other than the currency.

</comment></comment><comment><USER10> After reading the page it looks like a lot of communism and very little libertarianism.. Why is libertarianism mentioned? To me libertarianism requires at least giving people the freedom to buy and sell while this libcom site argues "the problem is that everything has a price".

Are we going to have to start using the words "classical libertarianism" soon? [https://en.m.wikipedia.org/wiki/Classical_liberalism#Meaning...](https://en.m.wikipedia.org/wiki/Classical_liberalism#Meaning_of_the_term)

<comment><USER11> Classical libertarianism _is_ libertarian communism. The term libertarianism originates with the French anarcho-communist Joseph Déjacques back in the 19th century, and was championed by groups like the Socialist League in the UK (which was supported by Friedrich Engels and Eleanor Marx amongst others).

Modern-day right-wing libertarianism is the new kid on the block.

Basically in the late 1800's the main split between anarchists and communists in the First International was not predominantly their end goal.

E.g. consider the famous concept of the "whithering away of the state" (coined by Friedrich Engels, but Engels attributed the idea to Marx): that given that according to Marxism the state is predominantly a tool of class rule, and that communism by their definition is the stage of society where there no longer are any classes, the state will cease to have a political purpose and will "whither away". So anarchists and communists agreed the state was a tool of oppression and that this oppression must be removed, and that the state will eventually disappear.

The split was over methods. How to get there. The anarchists generally favoured a quicker, more immediate, dismantling of the state (whether by taking control and orderly dismantling it, or by rising up and destroying it), while communists generally favoured an intermediate transitional stage. In Marxism the intermediate stage is socialism: A phase where the proletariat is meant to take control of the state (hence the "dictatorship of the proletariat" in contrast with Marx description of capitalist democracies as the "dictatorship of the bourgeoisie"), and for the first time wield it as a weapon of the majority against the minority, and use it to remove the class differences. So communists traditionally saw the state as a tool for the working class.

Eventually this lead to the split of the First International, where Marx came out victorious, and most of the anarchists left when Bakunin was thrown out. Not long after, new libertarian socialist/communist tendencies started "filling the gap" in the International left by the anarchists.

The extent of support for a strong state varied greatly amongst people who called themselves communists, leading to screeds like Lenins "Left Communism: An Infantile Disorder", which targeted exactly libertarian Communists which opposed his ideas of a vanguard.

<comment><USER7> > according to Marxism the state is predominantly a tool of class rule, and > that communism by their definition is the stage of society where there no > longer are any classes, the state will cease to have a political purpose and > will "whither away"

So who runs the justice system, commands the military, and protects the rights of the citizens?

<comment><USER2> Representative councils which ar democratically elected by ordinary citizens.

<comment><USER7> How is that not a Democratic state?

<comment><USER2> It differs in that it supposes having democratic, popular control of industry in addition to politics.

</comment></comment></comment></comment></comment></comment><comment><USER12> This is basically a reboot of Marx's 19th century ideas with a trendy fresh look. In fact, he predicted this stage (which he called the "dictatorship of the proletariat") in the evolution of "Political Economy" that will, in his mind, eventually lead inexorably to "True Communism." [0]

His "theory of alienation"[1] pretty accurately describes the angst that motivates the "workers" to want to move away from the Capitalist system of production and explore ideas such as libcom.org.

For those with an interest, you should read _Das Kapital_...Marx was a true intellectual powerhouse and his chops were both deep and wide.

IMO, It all sounds very good in theory, but always seems to always fail during implementation, like a bad software project,

The history of attempts with Communism shows little in the way of success as far as providing "the masses" with an increased standard of living and overall happiness, so I'll always be wary of such proposals.

Personally, I believe Sartre's Existentialism better describes the human condition, although even he eventually adopted Marx. in lieu of Capitalism, which will, I believe, always be hated by the intellectuals.

[0] [http://www.nyu.edu/projects/ollman/docs/marxs_vision.php](http://www.nyu.edu/projects/ollman/docs/marxs_vision.php)

[1] [https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation](https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation)

<comment><USER4> > read Das Kapital...sounds very good in theory, but always seems to fail > during implementation

What fails during implementation? When leftists of his time demanded plans from Marx, he scoffed and said he was not August Comte, and refused to "write recipes for the kitchens of the future".

Marx and Engels did note changes in production led to changes in relations of production, and the superstructure (society). Some scientists think human hunting and fishing being what is was may have led to behavioral modernity 50,000 years ago. This led to a different form of primitive communism. 10000 years ago slavery and agriculture arose. 1600 years ago feudalism began to arise. 600 years ago capitalism as a dominant economic system began to arise.

Since men began painting pictures of horses in caves 50,000 years ago, the world has seen four major economic systems. The current one is capitalism. You seem to say it is immutable, the three previous ones were flimsy, but you seem to say our current economic system is the final one (although the previous one said that as well - the czar was claiming God, the creator of the world, ruler of a life after life had appointed him to his throne - claimed this until he was felled by the bullets of Bolshevik soldiers).

We are entering a world where I film a video, or record audio, or write code, push a button and with almost no cost in replication, can have it distributed to billions. We are entering a world where with continual improvements in robotics and AI, there may eventually be no job a human can do that an AI robot can't do (and perhaps do better - my memory, prefrontal cortex processing etc. is limited by bandwidth, space and this sort of thing in a way that a neural network translating speech to text is not). When there is no need any more for humans to farm, or mine, or even to program, will the world still be under a system of capitalism?

</comment></comment><comment><USER7> > The problem is that everything has a price.

No, the problem is that everything has a relative value and someone needs to figure out what that value is. In free-market capitalist societies (and I'd argue in the other ones as well), money serves as an important heuristic for value.

More concretely, do we, as a society, produce more fuel efficient cars or do we produce electric ones? In a free market, it's clear the one that sells will be produced. In a controlled economy, the process is murkier and runs through bureaucracies (and therefore lobbyists) and possibly lawmakers (and therefore more lobbyists).

So free market capitalism is really a form of crowd-sourced decision-making. Alternatives would need to invent a working model that can prioritize (in the face of difficult facts, even) in an egalitarian way, balancing the needs of different interests.

I read through the linked page. I didn't see anything describing how that would work, even in the Chomsky link.

<comment><USER4> It is a strange thing to use cars as an example of a free market. The government just bailed out the auto industry. The government bailed out Chrysler with loans and government contracts in the 1970s as well. The auto industry lobbied for and got massive public subsidies for highway and road construction, while lobbying against mass transit, or just smashing it like GM did with NCL. Not to mention the federal government reviving Depression-racked Detroit's fortunes when the industrial plants began having tanks roll out during WWII. The auto industry never wanted to operate in a "free market".

<comment><USER7> I wouldn't claim that the car market is especially free either. You could replace car with "widget" if you'd like.

</comment></comment></comment><comment><USER13> If you want both Liberty and Community to emerge as the dominant platform, you are going to have to explore other avenues than legislating it or convincing people of it. You are going to have to re-align incentives. It is going to have to emerge through a catallaxy of people pursuing different goals. This can be done by creating a society where:

1\. Money spent in and around the community brings more benefit than money spent in a far off place. 2\. Success at a higher level of administration is dependent on the success of lower levels of administration(probably also controlled by the the flows of voluntary tax revenue).

Even then, the type of 'communism' that develops won't be a top down variety that we saw fail miserably in the 20th century, but a bottom up version that is highly anti-fragile and able to move very quickly to take advantage of volatility.

</comment><comment><USER14> Libertarianism is hugely flawed. Garbage in, garbage out. I don't think anything incorporating hugely flawed philosophies is ever going to be a good idea.

<comment><USER2> This definition of Libertarianism should not be confused with what is called Libertarianism in the USA.

</comment></comment><comment><USER3> The communist ideology resulted in the torture/execution/starvation of, what, 100 million working-class people?

People don't go about saying "I'm a fascist, let's give it another go, maybe it will work this time, sorry about the millions of dead children".

So why do people think it's OK to say they're a communist?

<comment><USER2> That was state socialism, not a true communist society. Any form of repression, coercion and control are condemned by anarchists / libertarian socialists. The USSR was certainly a state which was did of that.

The reason why the USSR was trumpeted as socialist was that it suited both sides' propaganda to do so. For the Americans, to vilify socialism, and for the Russians to give their rule the appearance of genuine socialism. When both of the major propoganda systems in the world agree on something it's bound to become a popular conception.

But let us not also forget that hundreds of millions starved in non-communist India, which suffered terrible famines up to 1948.

South and Central America was a horror chamber throughout the 1950's-1980's under violent brutal capitalist dictatorships supported by the USA. Many Asian countries too.

The rise of communism in China, although violent and of the state-socialist kind, also brought hundreds of millions out of poverty.

<comment><USER3> _" That was state socialism, not a true communist society."_

Ah. the "No true Scotsman fallacy". It would be funny it it weren't for the countless millions of tortured and murdered women, children, peasants...

<comment><USER2> It's not funny. It's also got nothing to do with Libertarian socialism, which is simply a a democratic economic system. The USSR was a system with concentrated power which directed from above.

Right wing Marxists such as Bolsheviks have always had deep divides with left wing Marxists and anarchists.

</comment></comment></comment></comment><comment><USER15> I have read the whole thing and I was really surprised that they didn't mention anything about individualism or non-authoritarian decentralized governance given the "libertarian" label in their name and unless I'm mistaken, they sound more collectivist-leaning than individualist-leaning and this is very troubling esp. for communists as they tend historically to favor heavy-handed measures to reach or realize their political goals even if it means to oppress and intimidate their opponents.

BTW: I'm a leftie myself but very skeptical of collectivists and statists whether on the right or the left.

<comment><USER16> As others have said the term 'libertarian' has historically and outside the USA had much more 'collectivist' connotations and early on bore much more resemblance to anarchist and communist movements- it recognized that controlling property and capital (or having it kept from you) was a factor in your individual liberty, could be used to force you to work, etc.

libertarian communist is to put it crassly an attempt to re-brand and re-merge the anarchist and socialist traditions (which are much more diverse than mao and stalin) and to remove the supposed schizm between libertarianism and communism. not to propose any single template but to stop taking for granted the current social/political/economic orders and explore new ways of organizing society, etc.

</comment></comment><comment><USER17> The two worst thing ever happened to earth in one ideology. Congratulations!

<comment><USER18> Out of interest, what two worst things are you referring to?

<comment><USER11> He is conflating right wing libertarianism with the libertarianism referred to, and stalinism/leninism with the communism referred to.

</comment></comment></comment><comment><USER19> Why is this drivel on top of HN?</comment>


Why aren't we involving the 20-year-olds in future planning? - <AUTHOR> https://medium.com/sander-gansen/why-arent-we-involving-the-20-year-olds-in-future-planning-6d2236e21f8b <comment><USER2> My bet: in some countries because there are many more parents and grandparents. Young people don't have enough votes. A sci-fi like proposal to fix that: people's vote weights 10 at 18 and lose one every ten years. Totally against the principles of our democracies but more forward looking. And very risky for the elders, which are also the most defenseless against changes. I'm not really sure I'd like it.

A minor cause: most young people don't think about politics. They have other priorities. This starts a negative feedback loop together with declining birth rates.</comment>


Why are we anchored often? - <AUTHOR> https://models.substack.com/p/why-are-we-anchored-often <comment><USER2> The advice to starting a negotiation with a favourable number as a conceptual anchor makes the mistake that a number should be at the beginning of a negotiation at all. The whole point of a negotiation is not to haggle down to a price, but to discover a "true" price based on seeking out principles. The point of negotiation isn't to simply raise the number like in the haggle, it's to influence their number to be the effect of your principles, so that the result is everyone feels they've got a good deal.

With practice, you can de-anchor discussions simply by re-framing their anchors using new principles.

e.g. Anchor: "Given your current salary is probably around $50k, we think you're way underpaid and we will offer you $52,500, which is a %5 raise just for switching jobs! You can thank me for getting you this incredible deal by signing right now."

Re-frame: "I really appreciate your initial effort on this. We can't disclose my current salary here because my employer treats it as competitive information and I'm still a member of this team so I can't really comment on that. Let's move the numbers discussion out a bit, and get a sense of the value I can provide in the role. However, looking at the glassdoor and city cost of living salary data for your company, the range you suggested is just below the average salary for other people in the role. I can solve one of your major problems with my unique experience out of the gate, which would take at least a quarter to six months in learning curve for your current team."

This simple re-framing is, destabilize the premise (their guess of your salary), add 2 new objective principles of a) competitive information, and b) glassdoor/city data source, then provide them with relief from the instability stress you created using a soft sweetener (offer of hidden value) without even coming back with a number. This is a simplified case, but you get the idea. So yes, anchoring, but now that you see the reframing to your principles (a new anchor), it's much less of an obstacle.

<comment><USER3> Anecdotally, I was recently asked "What was your last salary?" in the first call from a potential employer. When I told them I was only willing to discuss my potential future compensation, and not my current one, they immediately declined to interview me further.

A bullet dodged without much effort.

<comment><USER4> >A bullet dodged without much effort. What is interesting is that they probably thought the same thing. They clearly wanted someone that would capitulate to things that were asked of them.

<comment><USER3> I already emotionally distanced myself from that company completely, but as far as I remember, their representative was "the hiring manager for Engineering", but very far from the Engineering department and very close to HR.

I honestly assume they simply selected for (as you said) pushovers or potentially liars.

</comment></comment></comment></comment><comment><USER5> Seems there may be more to it than the article says.

"People are irrational. Example: You wouldn't buy a new dress, or suit, that costs $100 ('that's far too much to spend!') but you would buy one that was $300, but is now 'reduced' to $150 ('but just look at how far down it's come!') Sound familiar? You're not alone, it's fairly well-known that humans are irrational (at least by those in advertising- some products in supermarkets are never meant to be bought- they're just there to get you to buy other products more), but are other animals just as irrational?

Hummingbirds, starlings, and even bees have been shown to be irrational. But what about organisms even smaller than bees? A recent study1 found that even slime moulds (brain-less creatures, which live in damp places like mouldy leaves and logs) can be irrational."

[https://blogs.scientificamerican.com/not-bad- science/think-y...](https://blogs.scientificamerican.com/not-bad- science/think-you-re-sometimes-irrational-you-re-not-the-only-one-8211-slime- moulds-are-irrational-too/)

This really implies something fundamental but I can't guess what.

<comment><USER6> I think a human being irrational isn't the same as a slime mould. The latter doesn't have the ability to be rational in the first place, it's merely doing what it does.

<comment><USER5> Allow me to turn that into the entirely equivalent "The latter doesn't have the ability to be irrational in the first place", so what's happening in your view?

</comment></comment></comment><comment><USER7> That's why it's recommended to look into the distance when you enter a Costco, until you pass the electronics section.

</comment><comment><USER8> That ended way more quickly than I thought it would.

<comment><USER9> Maybe you're anchored by long articles?

</comment></comment><comment><USER10> If I see that the link is coming from substack, I'm actually discouraged to click (in fear of imminent "pay for more")

</comment><comment><USER11> It's lIke the framing effect.

<comment><USER12> I would have called it a subset of psychological priming, but yes, you've got it.

[https://en.wikipedia.org/wiki/Priming_(psychology)](https://en.wikipedia.org/wiki/Priming_\(psychology\))

</comment></comment><comment><USER13> Sounds like overfitting.

</comment><comment><USER14> > think of you walking into a sports store and the first thing you spot is a > pair of track pants worth $500. Now your brain is anchored on that price for > a pair of track pants, so when you see another track pant this time with a > price tag of $300 you will perceive it as cheap.

No, I will not. $25 for track pants I would perceive as cheap. There is no way in hell, no matter what overpriced items you show me first, that I will perceive $300 for track pants as "cheap".

<comment><USER15> You've previously been anchored to a price around $25. It's a bad example, but this is a real effect, check out the research, e.g. [https://youarenotsosmart.com/2010/07/27/anchoring- effect/](https://youarenotsosmart.com/2010/07/27/anchoring-effect/)

<comment><USER14> Yes, I've been anchored by dozens of sellers selling reasonably priced track pants for at/under $50. There's no way that anchoring will work for 10x the reasonable/typical price.

If I go into a Toyota dealer, they can't actually anchor my reference price of a Toyota sedan to $250K by putting a window sticker saying that on a Camry.

<comment><USER16> They can try:

"A Toyota dealer in Baltimore is offering a brand new 2020 Supra Launch Edition for a nice, round $100,000 – an eye-watering markup of $42k over list."

[https://www.carscoops.com/2019/07/would-you- pay-100k-for-a-2...](https://www.carscoops.com/2019/07/would-you- pay-100k-for-a-2020-supra-launch-edition-baltimore-dealer-thinks-so/)</comment></comment></comment></comment>


Who Are The 5 People You Spend Time With? - <AUTHOR> http://leostartsup.com/2012/07/the-people-you-spend-time-with/ <comment><USER2> _'You are the average of the five people you spend the most time with.' Jim Rohn_

I see it backwardsly - the 5 people you spend time with are the ones most like my average. I'm not who I am because of my friends; they're my friends because of who I am. If I were willing to replace one of these 5 with another, I would still be me, but I would have a less-close friendship with that person.

This article seems to suggest we should all dump our current "go nowhere" friends and try to become PG's best friend (or friends with similarly accomplished humans). I counter with the Nash Equilibrium, that PG would exclude most of us, and we'd be stuck back at square one, having to be friends with plain-old each other.

The author himself whittled down his life to 2 other people. What a selfish and lonely life!

<comment><USER3> I think the important thing to realize here is that it's just someone's opinion. It's not a scientific fact that you are the average of the 5 people you spend the most time with.

The theory breaks down when you don't spend time with anyone, because you can't divide by zero!

A live human being is no more influential to me than a good book. If you really want to get a good "5" and you can't find enough talented people, consider replacing your unwanted friends with dead trees.

<comment><USER4> You need to take into account that your interaction with a book is usually short while the effects of your interactions with people accumulate over time.

It might be different for people with very strong personality but I think it is generally true that we are strongly affected by the people we surround ourselves with.

</comment></comment></comment><comment><USER5> I feel sad for the author if he actually believes this. Sure your environment does influence you a bit, there is something to be said for self determination and individual character. I have throughout my life enjoyed friendships with amazing people who have driven me to succeed. On the other hand, I wouldn't have the depth/perspective in life where it not for my incredibly enjoyable friendships whom I have had with people who didn't exactly "succeed" in the conventional sense of the word. Friendship with those "less successful" people didn't exactly pull me down or make me "any less" than who I am right now. Sometimes one makes friends because one enjoys a dimension of a person's character and not just because they make a ton of money or start a bunch of companies.

<comment><USER3> I think OP has a point but his theory neglects that dead people are still in our 5 through their works that live longer than they do.

It's possible to be a complete loner and still have a "5". Also count people you don't personally know who influence you through their current works...

</comment></comment><comment><USER6> I appreciate the sentiment of OP's article, but I (slightly) disagree.

Many of my closest friends are not successful, in the conventional sense of the world. They coast through college and float through life. Smoking weed and drinking are their past times.

But you know what, they're my closest friends. They don't hang out with me because I can help them with business or earn them money. They ask me for life advice, not business advice. They don't give a shit about traffic to websites, they care about how many people they can get to laugh at a joke.

They're rooted in the real world, not the tech world. They understand people way more than they understand technology, and I think many of us here on HN could use a dose of that.

So while it is admirable and refreshing to surround yourself with smart and ambitious people, let's not lose sight of our roots and the beauty of loving people for no other reason than that they bring us happiness.

</comment><comment><USER7> 'Spend time with people who want to have the kind of life you want to have.'

This is a great motto if you actually know what you want. If not, you might choose the wrong people and end up with something that doesn't make you happy.

Also be careful that you don't cut the people out of your life who would have given you an important perspective (or would have had your back).

Being with smart people is good. Being in an echo chamber full of self- important opportunists is not.

</comment><comment><USER8> _It doesn't matter how smart you are. It doesn't matter how talented you are, which skills you have, where you are born or which family you came from. All that counts if you want to be successful in life is the people you surround yourself with._

That's just sad, centering one's life around others. I present you a different perspective: [http://artofmanliness.com/2012/06/11/becoming-an- autonomous-...](http://artofmanliness.com/2012/06/11/becoming-an-autonomous- man-in-an-other-directed-world/)

<comment> guard-of-terra It's not. If you're not talented, not skilled and not interesting, nobody of interest would let you surround yourself with them.

</comment></comment><comment><USER9> "Lifehacking" your friends for individual gain is going to leave you with no friends at all.

There's also a paradox to it; why would anyone who's supposedly "better" than you, have you as a friend?

<comment><USER10> I don't think he said or meant that you should try to have friends who are "better" than you but rather _those that will help you get to the next level you want to get to._

In other words, people who are supportive and have abilities and interests that complement your own.

I certainly know people who are toxically negative, gripe about everything and complain about perceived injustices, and when I spend time with them I become less motivated. And the converse is true, thinking of one person in particular who I would not consider a friend (in that we don't hang out socially) but who is so positive and energetic about everything that it's hard not to ride that wave when you spend time with him.

</comment></comment><comment><USER11> _"... One conclusion I kept coming back to in this talk is that a large amount of how successful you will be in life comes down to the people you spend time with. ..."_

Wrong. Extrovert. What about creative introverts?

 _"... Most inventors and engineers I've met are like me. They're shy and they live in their heads. The very best of them are artists. And artists work best alone ..."_ Steve Wozniak, iWoz ~ [https://www.nytimes.com/2011/06/26/opinion/sunday/26shyness....](https://www.nytimes.com/2011/06/26/opinion/sunday/26shyness.html?pagewanted=all)

<comment><USER12> Being an introvert doesn't mean not being influenced by the company you keep. Most introverts aren't asocial, they just enjoy being alone more than extroverts do.

<comment><USER11> _"... how successful you will be in life comes down to the people you spend time with. ..."_

I read this as equating success by association. Not in the presence of the right company the authour flounders. Woz discredits this idea.

<comment><USER12> How does Woz discredit the idea? He said that he works best alone, not that no one else was involved in making him successful. Do you really think Woz would have been as successful if he had never met Steve Jobs?

</comment></comment></comment></comment><comment><USER13> What about kids? "I won't spend time with my 2y.o. because he wants to drive trucks around in the mud and aspires to stop peeing his pants, and that just doesn't align with my life goals".

<comment><USER14> The advice in this article seems to be much the opposite of "work-life balance". It's suggesting that you stop spending so much time with your kids, your elderly parents, your sister with a mental illness, and so on -- or, rather, that if you spend time with such people, you'll be less "successful" or "accomplished".

I don't buy it. IMO one of the major factors that encourages success is having a reason for your goals -- often, wanting to provide a good life for your family. In my current household, the five of us (who spend most of our time with each other) have primary ambitions of "make a solid career", "keep the household running smoothly", "recover from severe illness", "learn to poop in the toilet", and "learn to talk". Part of what makes us successful at the first two is the _motivation_ to support the other three.

</comment></comment><comment><USER15> One of my best friends is an elderly woman who lives alone and cannot walk. She slurs her speech because of a bad head injury a few years back. She has a terrible short term memory.

She is pretty cool.

I visit her about three times a week and we will talk for hours. I wonder why we get along so darn well - I'm a 40 year old single guy with practically zero in common with her - but I always leave her house feeling happy. She will wave goodbye to me from the screen door until I am out of view.

I like watching out for her wellbeing and brightening her day, yet I still feel I'm the one who is benefiting.

</comment><comment><USER16> This idea of friendship is heavily influenced by a western consumeristic culture. Friendship is a transaction, only worth it if we are getting an equal or greater amount out of it. The irony is that when friendship is thought of in this way it ceases to be friendship. It's simply another commodity.

True friendship is based on a covenant relationship. I will be with you no matter what and therefore I am your best friend.

</comment><comment><USER17> Seriously? I would refute this article some more, but alas others have beat me to it. I really like the quoting Dr. Dre for philosophy part. I don't think Dr. Dre was necessarily talking about "losing" friends in the same way as the author...

</comment><comment><USER18> > Today, the people I spend time with are just 2 people. Joel and Tom.

That is really, really sad.

<comment><USER10> In your mind. He seems to be happy with it.

</comment></comment><comment><USER19> As I see it, this article boils down to "maintain relationships with people for profit, not fun". Which does not look like a good approach to relationships to me. Look at it this way: what would you do if you found out one of your friends did this and somehow you ended up on his "list"? Personally, I'd try to avoid contact with that person as much as possible.

</comment><comment><USER20> It sounds like the usual doctrine stuff.

This can apply to an individual, but isn't generally true. Close 5 awesome doors, but open two that match you at that point. Alienating people is never, ever an option to consider - there can be exceptions, of course - if there isn't honesty, or the person drools on your floor and throws fecal matter on your wall.

"I am you and what I see is me."

Your personality is reflected through other people. You are a true friend, a helpful person with cool ideas, the other person will follow along, usually. I'll scratch your back and you'll scratch mine.

What can be wrong with having everyone as a friend and helping and get helped by the ones that stick over the years?

</comment><comment><USER21> 90% of your time with 2 people every day? What's left in a few years?

</comment><comment><USER22> And when/if you actually do get successful, you realize you don't have any real friends and shoot yourself. Congratulations!

<comment><USER23> When you have that mindset, you find yourself with likely minded "friends". The problem is not on the way up, the problem is your "friends" will also brutally let you down if you are ever in a bad spot, or not performing to their expectations.

Of course in the beginning there is almost no downside: you find yourself with other young motivated entrepreneurs, you share success and failure, the entry to the club is only motivation. If you make it, you will want to surround yourself with other winners, but now the entry to the club is success. That is when statistics and human nature start to play against you.

</comment></comment><comment><USER24> what a disgusting read</comment>


Red Gate acquires Go Test It - <AUTHOR> http://go-test.it/blog/2009/11/30/red-gate-acquires-go-test-it.html

<comment><USER2> Does anyone currently use Go Test It? It looks pretty slick and I'm tempted to sign-up.</comment>


CoffeeScript-like language for C/C++? - <AUTHOR> http://stackoverflow.com/questions/6190289/coffeescript-like-language-for-c-c

<comment><USER2> From what I have seen of it, I really like Vala. It is a high-level C-like language that feels somewhat similar to C#, but compiles to plain C and uses the same ABI.

Of course, some people will dislike the fact that it is tightly coupled to GObject.

You could also make a C DSL in Haskell if you have time ;):

<http://trac.sivity.net/language_c/>

Or use an existing one:

<http://hackage.haskell.org/package/copilot>

</comment><comment><AUTHOR> I've been thinking about this for the last few days, and finally got around to searching... and found this question on Stack Exchange.

In my head, I don't see it as a huge thing like OOC is with garbage collection and all, but a smaller thing that takes care of allocations and for-loops, etc. Just making the code easier to deal with, instead of radically altering it. Doing things for you that you'd do anyhow, but don't really need to see happen.

</comment><comment><AUTHOR> In my searches, I also came across a comment saying it would be silly to compile to C++ instead of just using LLVM instead.

In my case, there's a game programming library that is C++ that I wanted to use.</comment>


How do you know if it's a good time to fundraise? - <AUTHOR> http://www.goodwatercap.com/index <comment><USER2> Looks like a solid concept and a great team. Very sharp, with an ambitious goal of providing a lot more than typical venture capital market overviews. Look forward to seeing how it progresses.</comment>


Deep Learning for Visual Question Answering - <AUTHOR> https://avisingh599.github.io/deeplearning/visual-qa/ <comment><USER2> Interesting: apparently there is now an open visual Q&A training dataset: 254,721 images, 764,163 questions, 9,934,119 answers!

<comment><USER2> [http://visualqa.org/index.html](http://visualqa.org/index.html)

</comment></comment><comment><USER3> How do these results compare to FB AI research results that we re recently announced on the same topic?</comment>


Tweet a hash and this bot will crack it for you. - <AUTHOR> https://twitter.com/PlzCrack

<comment><USER2> What's the difference between this and the multitude of services already on the web, such as:

<http://crackstation.net/>

and many more?

<comment><USER3> Seems to be powered by crackstation. Main difference is that it tweets your twitter handle and password if it finds them.</comment></comment>


The security of the most popular programming languages - <AUTHOR> http://www.net-security.org/secworld.php?id=16694

<comment><USER2> What I found most striking about this article was how different the industry it is talking about seems to be from the one I've been working in. In their industry, Java, .Net and ASP are "new", everything else is "legacy", and Perl and Coldfusion are (admittedly minor) players, but Ruby, Python, and Javascript don't seem to exist, let alone "new" things like Scala, Clojure, and Go.

I'd be interested in knowing how representative the "30,000 websites" they surveyed are of the web as a whole.</comment>


Learning Rust in 2020 - <AUTHOR> https://github.com/pretzelhammer/rust-blog/blob/master/posts/learning-rust-in-2020.md <comment><USER2> > When I started learning Rust I made the mistake of following the advice to > read The Book first. While it's a great resource, it's pretty overwhelming > for a beginner to get told "If you'd like to learn this programming language > the best way to start is to read this 20 chapter book!" Most people give up > before they even get started when they get advice like this. Nobody ever > told someone to read a 20 chapter book just to get started with Javascript > or Python. Rust's learning curve is no joke but you gotta give the people > what they want, and they want to program, not read about programming. > Programming is fun and reading about programming is not as fun.

As one of the authors of the book, I wholeheartedly agree that it's not for everyone. Folks should learn in the way that works well for them. I'm glad this resource exists!

<comment><USER3> I don't usually like programming books. I am usually easily overwhelmed by them and I find that they are at the wrong pace for me.

This weekend I read most of the Rust book without much effort and found it really helpful for getting up to speed with the language, especially the more novel bits around safety. It took me to the point where I was able to explore and evaluate the bits of the language I needed with only library docs. I know that the remaining chapters are there for when I am ready for them.

My experience with the Rust book as made me more likely to consider starting with a book when approaching programming languages in the future.

Reading other comments, I recognize that I was fortunate to have a project in mind that motivated my reading of the book and just happened to be an excellent fit for Rust.

<comment><USER4> As someone who already programs in multiple high-level languages, I feel that the Rust book hits the sweet spot for me. It doesn't go over basic programming concepts which I already know, and focuses on fundamental, unique concepts of Rust. I feel that the scope is pretty close to perfect as well, it doesn't try to cover every single detail. (The Rustonomicon serves as Part 2 for me)

</comment></comment></comment><comment><USER5> I wish every language had the equivalent of [https://tour.golang.org](https://tour.golang.org).

Edit: hey thanks to both answers, bookmarking it for later. I'm learning Haskell right now and it definitely misses something like this.

<comment><USER2> Our version of this is [https://doc.rust-lang.org/stable/rust-by- example/;](https://doc.rust-lang.org/stable/rust-by-example/;) though someone recently tried to start a more direct port!

</comment></comment><comment><USER6> Nice!

I just started learning Rust for a WebAssembly project.

The people on the Discord server are nice and quick to answer questions.

The ebooks I found online are a bit hard to grasp. At least for a JS dev like me.

I mean, for the basics they're okay, but what I'm missing is how to write "good Rust code". There are always multiple ways to do things (Option/Result, try!/?/unwrap/expect, loops/map/fold, etc.) and I already produced some runtime errors, haha

<comment><USER7> I'm not sure how the broader community does it, but the Rust developers that I know (myself included) will typically get the code working and compiling with panics and unwraps (especially when working with a new API or just experimenting) and then do a second pass to "remove panics". This typically involved reviewing your code thoroughly, finding each panic / unwrap / expect, and using this to identify how your functions can fail. This is a good time to create error types for your API and note these cases in your documentation. You then convert functions which can fail to a Result and all of the unwraps etc. to ?. This can be fairly mechanical and really gives insight into ways that your code can fail and edge cases, but does take time.

As far as loops vs maps, I've found that your use case typically guides this. I think this is the same with other languages like Python. You aren't going to want to write a ton of complex logic in deeply nested maps and filters. But if you just need to do something more simple it might make more sense to do it in a map one-liner.

Edit: The presentation linked to in the other reply appears to confirm this process of starting with dirty compiling code and then refactoring out the possible failure modes. It covers a lot more things like using match and handling errors from other libraries.

</comment></comment><comment><USER8> I've been working through the Rustlings exercises for the past week or two. I get through a handful at a time (spending 20 min to an hour) and have done maybe 5 or 6 sessions. It doesn't seem short to me (doesn't seem long either, but it isn't like I blew through it in a few hours). It can be confusing as the hints are sometimes really vague. I've cobbled my way through so far and if I've gotten stuck I just stop and come back to it another day. Usually I can progress quickly with fresh resolve. It is nice in that it helps you learn the syntax, but it doesn't seem to help me much with the concepts. I feel this is in part that when you run `rustlings watch` it doesn't first point you to the section of the book you're reading it just throws broken code at you and tells you to run `rustlings hint <foo>` which only sometimes points to the book. Most of the time you are just given broken code and asked to fix it with some suggestions of where to look in this specific code. I have completed 53 exercises and am in the process of working on standard library types. I could go into some more specific details if anyone is curious about my experience. Hoping to post my annotated work through to github when done, but I could either copy out the few bits that were particularly vexing or could post the code with my comments now for people to peruse. One thing I would like to find is a place to start interacting and asking questions. Heard someone mention discord so I'll maybe start there or on IRC.

<comment><USER9> Hi, author here. Rustlings took me only a few hours but I came back to it after I had already finished reading The Book and finished about ~100 exercises between LeetCode and Exercism, so my experience with Rustlings wasn't that of a "true newbie". I still think it's one of the best resources out there, but like anything it can continually improve.

Your feedback as a beginner is very valuable! If you have some structured feedback for Rustlings please consider opening an issue on the repo. Also, the official Rust Discord Server is very beginner-friendly and has a #beginners channel, if you're struggling with anything don't be afraid to join and ask your question. The invite for the server is here [https://discord.com/invite/rust-lang](https://discord.com/invite/rust-lang)

</comment></comment><comment><USER10> Im kind of dismayed that we're told that reading about programming isn't fun. Also we're told what people like and what they don't. Is this what "people" like and don't like or what the author likes and doesn't like?

Learning the hard concepts in rust is exactly where the value lay for me. For some people I guess copying things and getting results without understanding is rewarding and I'd never say people shouldn't do that but author should not be telling people not to read. It's terrible advise.

<comment><USER9> Hi, author here. I enjoy reading about programming and I think it's fun, just not _as fun_ as programming. I tried to choose my words carefully because I didn't want to come across like I was bashing reading. Perhaps I should have said, "reading about programming is fun but programming is even more fun."

Learning the hard concepts in Rust is the best part, but The Book isn't going to teach you those. The Book, by design, is a very broad but shallow overview of the entire language. It'll never teach you, for example, why you can't write a self-referential struct in Rust. That's a lesson every Rustacean has to learn the hard way: by programming in Rust. And that's what I hope to encourage more Rust beginners to do: learn the hard lessons by actively programming in Rust.

<comment><USER10> I get where you're coming here, maybe the concepts in the book weren't difficult for you, but they were for me. I tried Rust without the book and got disillusioned so quickly as I didn't have the vocabulary to understand the docs or a lot of discussion (stack overflow etc) i bought the book and it openened up so much understanding for me and now I have a couple of Rust projects on the go.

I guess it upset me a bit because I didn't find Rust fun at all until I had the book and I could see how your piece could discourage people from buying it.

</comment></comment></comment><comment><USER11> +1 for rustlings, it's fantastic, I went through it right after reading through the book. The books are good, but it's hard to compete with being hands on like rustlings is.</comment>


Starshade Would Take Formation Flying to Extremes - <AUTHOR> https://www.jpl.nasa.gov/news/news.php?feature=7420 <comment><USER2> [https://xkcd.com/975/](https://xkcd.com/975/) I can't resist linking to the relevant xkcd. It's definitely nice to see this actually done in real life

</comment><comment><USER3> I thought this would be about flying in formation for consumer planes.

Couldn't some fuel economies realized that way?

More impressive yet than the article are proposals for space telescopes made of millions of accurately positioned mirrors. With a spherical constellation, you can cover the whole sky at once.

I wonder if such a constellation would require a star shade, or if you could just orient some mirrors not to reflect their light?

</comment><comment><USER4> I wonder what type of RCS system these craft are going to have; I'd imagine it would be very straining on fuel resources if a regular system were employed. Has ionic engine technology advanced enough yet to employ multiple thrusters around the craft?

<comment><USER5> Yes, there are a ton of all-electric satellites up there already.

</comment></comment><comment><USER6> That's exciting stuff. Let's hope they'll do it.</comment>


Optimistic Sci-Fi - <AUTHOR> http://yehudakatz.com/2009/05/11/optimistic-sci-fi/ <comment><USER2> Science fiction was not over-optimistic. Rather, we have lost the will to explore:

<http://yarchive.net/physics/effete.html>

</comment><comment><USER3> Maybe the optimism was to do with the ever-growing 90s economy?</comment>


Show HN: SqlSmash, A productivity plugin for Sql Server Management Studio - <AUTHOR> http://www.sqlsmash.com/

<comment><USER2> I really like the simple search (and useful keyboard shortcuts) to jump to an object, something that is fairly tedious in SSMS. (expand, expand, expand, pick folder, use filter or type dbo.stuff in a large group of objects, hope you didnt add a typo!)

The find all references is also useful, I really don't like either scripting sys.comments or using the find dependencies as they are both tedious. This may be specific to my use case, but finding the tree of dependencies n levels deep is something I find myself doing and it is a pain in the neck. (find references, now find references to those objects, now find references to those objects, pull apart this mess)

I like the quick info as well, though alt+f1 usually does this for me, if I can get the information without blowing out the result set or opening a new window, that's great.

<comment><AUTHOR> Great feedback. Thank you!

</comment></comment><comment><USER3> I would love to try this out, but one thing that's stopping me is pricing.

What price point do you intend to set this at once it's out of beta?

Any plans on supporting older versions of SSMS (say 2008 r2)?

<comment><AUTHOR> I haven't finalized the pricing yet, but it should not break the bank. I am going to start with SSMS 2012, and if there's a demand to support older versions, I'll do that. I am curious what you would consider as a reasonable price for this? Also, I think you can use SSMS 2012 to connect to older Sql Server Databases. Is there a reason for you to use the older SSMS?

<comment><USER4> I consult to a lot of different businesses and nobody is running SSMS 2012 -- it's all 2008 R2. I think if you want to target the most developers for SQL, you'll likely find that's by far the most common version. It's a very conservative market -- I probably won't see 2012 until long after the next version is out.

<comment><AUTHOR> Is it possible to download the SSMS 2012 express version and use that?

</comment></comment></comment></comment><comment><USER5> This looks like a great plugin, but I couldn't help but think about the fact that I am grateful that I don't have to work in SQLSMS anymore.

<comment><USER6> What's wrong with SSMS? I use it daily at work, feel pretty productive in it, not sure what features I'm really missing out on.

</comment></comment><comment><USER7> This looks nice, I'll probably take a look at it as I spend an unfortunate amount of time in SQLSMS.

As an aside, I would have liked to be able to know a bit about the plugin's features without needing to watch a video (but I guess you'll certainly flesh out the website once the plugin is ready to be sold).

<comment><AUTHOR> Thanks. Yes, the website will definitely be better in the future. I have been working on the tool by myself for a while and right now I just wanted to make sure that this is something people would use.

</comment></comment><comment><USER8> This looks great. Couple questions

1\. How is your find all references different than the show dependencies function?

2\. Your quick info function looks similar to just hitting Shift-F1 when highlighting an object. Yours maybe doesn't even do as much. Are you aware of the Shift F1 command?

<comment><AUTHOR> Results wise, "Find all references" should show you a flattened list of the hierarchy that you see with show dependencies. Also, the idea was to make it keyboard friendly.

Quick Info might potentially involve to show more information (definition, references etc). If not, and if nobody sees value in it, I might take it out.

<comment><USER8> Sorry I meant Alt-F1 by the way.

After installing your product it has been sitting for several minutes grabbing all the schema or something... so I can't get even get quick info to work at this point when Alt-F1 works every time.

But very few people even know about hitting Alt-F1. Might make sense for your quick info just to call that same function so people even know how to do it.

<comment><AUTHOR> Good point. I'll try to make the initial loading faster, and rethink the quick info feature.

</comment></comment></comment></comment><comment><USER9> having a "find all references" feature is a god send. can't tell you how many time i've scripted the database to a new query window and did a manual search just to find out all the place a stored procedure is being used.

<comment><AUTHOR> Awesome! Thanks for letting me know. I would have thought "Find References" and "Quick Info" would be the most underused features and maybe I should take them out.

<comment><USER10> "Find References" is definitely the feature that made me say "YES!" when I watched the demo!

<comment><AUTHOR> This is a revelation for me. I'll definitely leave it in there now.

<comment><USER10> It's a convenient way to answer the common question of, "if I change ____, what else will break?"

It's of course possible to do this by looking through systables/information_schema/etc (I'm sure this is how you're doing it) but I always forget how. :)

</comment></comment></comment></comment></comment><comment><USER11> I use Toad for Oracle and you can execute the current statement with ctrl + Enter. Your execute current query feature is exactly what I have been looking for! I can't believe that SSMS has never implemented such a feature.

</comment><comment><USER12> The quick jump-to-object functionality is killer for me, seems like a great plugin!

Looking forward to playing with it

<comment><AUTHOR> Good to hear. Thanks!

</comment></comment><comment><USER13> I probably need to rewatch the video but the summary feature will probabaly be nice because i deal with 2K line scripts

<comment><AUTHOR> That's a lot of sql :), and the perfect scenario to use the summarize feature.

</comment></comment><comment><USER14> I also spend a lot of time in SQLSMS and would buy, or recommend my company to buy, a tool like this.

<comment><AUTHOR> Awesome! Thanks!

</comment></comment><comment><USER15> This is amazing! It's like ReSharper for SSMS. Just forwarded it to our entire dev group.

<comment><AUTHOR> I am a huge R# fan myself. To be honest, that was the original inspiration to create this tool.</comment></comment>