skysight-inc/HackerNews huggingface dataset:
I wouldn't really call it a "hack", rather an instance of a standard way of producing variable length codes, namely a prefix code [1]. That it was also made to be self-synchronizing is of course neat, but again, as a hack I would rather describe some one-off thing rather than applications of well known concepts to solve a problem they were designed to solve.

[1] https://en.wikipedia.org/wiki/Prefix_codes
That's a good point, and I run into that problem myself. I prefer camelCaseNames over names_with_underscores in just about any language. When I write Ruby code for myself I sometimes use camelCaseNames just because I like them better.

But if I'm writing code for someone else I try to follow the language's conventions if possible. Especially if it's a library that will be combined with other libraries and application code that does follow native conventions.

After all, it's also jarring to write code in one language that has to use multiple styles because it integrates libraries that weren't consistent with the common language conventions.
"Some people are stronger than you, some people are better coders than you - it's OK. "

What some people fail to get is that coders have over human powers. A strong person can't surpass human limits. He can't lift a car with his hands. But a person with a machine can.

You can't short all the words in a book as a person, but a machine can in less than a tenth of a second.
Sure, but a lot of languages are so closely related to their "standard library" that you adopt the style of the "standard library"

Take C# and the BCL. C# is a language but you'd be hard pressed to avoid using the BCL in any meaningful C# program.

String.Format("Hello {0}", stringVariable);

All (nearly all?) the function names in the BCL are UpperCamelCase, and a lot of C# code follows that as a convention.

Repeat for class names, interfaces prefixed with I, public properties etc.
> No. If you're being exploited, it's because you made a bad decision.

And of course because they are software engineers they will always act like perfectly logical proof machines and if they don't know laundry list of startup terminology and financial details of stocks and options well yeah sucks to be them. /s

> You're empowered to do whatever you like with your career, but the complaint is...that other people are exploiting you?

Yes employers exploit employees. Is this that surprising? This perfect balance of power between the two exists in simplified models of the world we like to build in our heads.

Yes they should know better, they should know the financial details. They don't seem to act rational working 100 hours a week for a %0.01 of equity. Good, we've got that squared away. Now how come so many of the supposed rather rational individuals end up in that situation? That's where it is interesting. Survivorship bias and hanging out on HN might help reinforce it as well. Maybe there are other factors? Are some idealists and like to believe in a cause? Ok, now, does the CEO also know that and is exploiting it?
What about the deliberate mishandling and, or, adulteration of food by disgruntled employees?

Anyone who's seen the move "Waiting" knows what I'm talking about.

What happens in the kitchen ends up on the plate
How to have the willpower to lose weight
http://ask.libreoffice.org/en/question/3990/how-to-rotate-in...

also

https://bugs.freedesktop.org/show_bug.cgi?id=48804

--edit, not sure why links to the bugzilla describing the issue are giving me downvotes...

--edit 2 : I actually hit this bug when making a flyer, the bottom had little flaps with our groups email. It broke PowerPoint compatibility, and I had to reboot into Windows.

--edit 3: You made laugh when you mentioned that "You can't invert the text quite so easily, you have to draw a rectangle with text in which can then be rotated any arbitrary degree." That sums up whats wrong with many user side facing programs. Too bad LibreOffice doesn't support pipes :-)
He was referring to all of the other languages. In his previous article, he writes:

"I’m not an expert in these languages (except Python)."
Thank you for the info! Was searching for an online tool draw mockups and schema diagrams.
There are multiple factors at play here and it ultimately comes down to what you need:

If you to access code points, then UTF-32 gives you a nice fixed-width (albeit quite large) encoding to work with. Some applications or libraries may use UTF-32 internally to speed things up.

If you deal with things on screen or what humans perceive as character (graphemes) then there is nothing really that can help you at the encoding level because graphemes can be arbitrarily long with regard to code points: e̬̱ͤ̈́̿̂̅́͟x̰̞̻̼̻̼͉̰ͫͧ̑͂͊͜ͅa̶̳͖͔̞̰͈̯͓͆̓̎̉̏̎̚m̛̮̩͙ͦ͗͆̄̋́̄p͎̥̠͈̮͚̾ͅl̛̗̈̄e̴̞̫͖̝̘̋̑̄̎ͥͬ̾ (this probably doesn't even render properly).

Sadly, most APIs use either UTF-8 or UTF-16 and consider code units the most important entity, not code points. And that's inexcusable and frankly a mess, because I can count the number of times I needed to access a code unit instead of a code point on zero hands.
My impression was that you sometimes have to refactor your Python to make the code more C-like. From what I have heard generators aren't supported, and there are other situations where you need to make your loops (and other elements of your code) more C-like.

That's not the case?

You just add typing to your python and you're good to go?
Such as? I've heard this said a lot but not heard any examples of non-obvious statements that he predicted, which have turned out to be true.
so erm... they should remove all cloud services that require a 3rd party login (theres quite a few well known ones) and all chinese apps sounds rational!

if youre chinese youre a terrorist anyway - right?

and then there is no mention of which policy it violates. so much for the benefit of the doubt - this all sound very arbitrary at least in tfa
"Normal", really?

This sounds more like you have a hiring problem.
I don't like the ideas of floating control panels everywhere. They tend to distract, I find myself constantly needing to open and close them and they also occupy a lot of space. The issue has existed for dozens of years, finally the folks at GIMP appear to have sobered up and are working on a single-window mode http://www.gimp.org/release-notes/gimp-2.8.html
That is very mature, I wish most companies ran like that.

Rumor mills get started very quickly. A first whiff of something being hidden or suspicion of "owners talking to so and so. Is that an investor? Are we in trouble? Will I be here next month?". That really kills the morale.

What starts to kill it is perhaps irrational thoughts and filling in the blanks when there is a perceived deception or hidden things going on. Whether those things are happening or not, the rumors already started to take effect.
Coolest DOS games of all time [txt list]
It's not enough to earn money. Technology markets are a winner takes all market, so you have to make enough money to be the winner.
I built a demo with some similarities 7 month ago (EDIT - that's not a plagiarism charge, the OPs submission predates mine and was created a year ago).
https://gist.github.com/arnehormann/4163916 for the source and http://bl.ocks.org/arnehormann/raw/4163916/keycodes.html for the demo.
The code is documented and includes a konami code and a mode switching example.
It's set to a German Windows keyboard layout, but the code includes comments on how to change that.
This is where Microsoft leverages the Office suite, I imagine.
Large companies have an internal dev kit for almost everything, i'm sure there are a few companies with wacky internal Java to Python compilers. They probably used to kit to make the native apps. In this mode of thinking taking 8 months to deploy this to developers is not unreasonable, if not prudent.
"it feels like real computer" was to contrast it with the surface and other devices that are supposed to replace the laptops, not to imply that macbook air is not a real laptop.
ConEmu is probably the best terminal for Windows at the moment, but it takes some customization to get there, and it has some strange concepts.
I think you may be overestimating the importance of the programming language over the whole programming environment. I think it is the programming environment that is the most important tool – not just the language. There are often many requirements that might lead you to choose a possibly inferior language because it lives in an altogether superior environment for your needs.

I have been writing large, server side software for many years. These are long-running applications that require superb performance as well as first-class monitoring tools. So, for me, one requirement for a language is that it runs on the JVM. The JVM gives you superb performance as well as unparalleled monitoring tools (made even better by the inclusion of the flight-recorder and Java Mission Control in the latest version of the JVM); you also get a vast ecosystem with a huge selection of very high quality libraries (and some other important features like dynamic linking) – all that before you even choose a particular language. You can also buy commercial support for every single component you're using if you need it.

On the other hand, if you're writing a command-line tool that needs a very fast startup time, or if your RAM is very constrained, then the JVM might be a bad choice for you, which would rule out the JVM languages no matter how good they are.

My point is that there are more important issues to consider than the mere merits of the language itself.

Also, you're putting a lot of emphasis on expressivity, while downplaying the importance of a short learning curve. I think the two are of similar importance. It's been my experience that programs written in some of the more expressive languages are actually harder to maintain than code written in the easy-to-learn ones. The reason seems to be that programmers use the expressivity of the former (which seems to be of a particular nature or natures: functional construct, higher-order types, meta-programming) to model their own thought-process, which may be hard to replicate for someone else maintaining the code. The easier-to-learn languages usually work at a lower level of abstraction, which can sometimes be easier for others to follow because its a well-understood common denominator.

Now, I'm not saying that worse is better, or that more "primitive" languages are better, or even that one should pick them over more expressive ones. I'm just saying that, especially when working in a large team or writing code that would need to be maintained for a long time, there are other issues to consider.
Probably because both those links specifically say you can rotate text 90 and 270 degrees. You can't invert the text quite so easily, you have to draw a rectangle with text in which can then be rotated any arbitrary degree.

Next time you trawl bug reports looking for anti-Linux material, try reading them more carefully.
Feature Request: textural search for shapes
In real mode, which was all there was when these keys were assigned, Ctrl+Alt+Del didn't actually fire any special low level hardware interrupt. I didn't watch Bill's video yet, so I don't know what he may have been referring to, but it definitely doesn't do that. (Maybe he just meant that it reboots the computer?)

In real mode, Ctrl+Alt+Del is handled by the same BIOS code as any other keystrokes. Each of those three keys generates the usual keyboard interrupt, and BIOS code checks for Ctrl and Alt being down when Del is pressed. When that happens, the BIOS jumps to the POST (Power On Self Test) address.

Or alternatively, Ctrl+Alt+Del is handled (or not handled!) by any other code that has taken over the keyboard interrupt.

There are no low level hardware interrupts involved at all other than the normal keyboard interrupt that handles any other keystroke.

I wrote up the details over on Reddit a couple of days ago, including some code listings from the XT BIOS:

http://www.reddit.com/r/technology/comments/1n68nz/bill_gate...
The hard part is to keep this attitude going when a crisis hits (and they always do in a start-up, it's just a matter of time), but that is also when it has maximum value.
Learning about the freetype library may be useful to you (http://freetype.org/). I used many years ago to render TTFs to in-memory pixmaps, and then loaded those as OpenGL textures.
Sorry, but it is exactly the job of the CEO to do that.

You don't get ahead by keeping those around you in the dark with respect to the rules of the game you are all playing.

Doing that consciously is pretty low. What you want is for everybody to have as thorough an understanding of these issues as time and resources allow so that everybody will be on exactly the same page. Only by maximum alignment of your interests will you maximize your chance of success.
me too, from adsense account.
I find it suspicious that Java or Scala didn't make the list. Java may not be sexy but it checks many boxes... And I suspect that Scala would have been a serious contender in brevity too.
The way around it is to never use facebook
If you think you're hiring abnormal developers, you either have a very distorted view of your candidate pool, or your hiring process borks somewhere in the middle.

There is at least one faulty assumption in your post; I don't think it disqualifies it, of course, but I believe it makes it hard to generalize your conclusion:

> they do because they can do machines do work for them, instead of having five people do the work the can do the code 5x to 100x or 1000x faster. They could automate almost everything, even coding(creating new languages when needed specially for the task) and debugging itself, creating testing code, making failures very hard to happen.

First off, the "they make machines do work for them" is a cliche. Please, don't use this to advertise your team. Unless it's a bunch of freshmen doing 100% quality original web design on freelancer.com.

Second, if most of your development process can be automatized, why exactly do you need a team of developers? Original work tends to require thinking and crafting. If you're cranking out Joomla websites and a hundred customized CRMs a month, sure, that works, but most of these mythical rockstar creatures would probably not touch one of those things.

What about processes that naturally don't lend themselves to being automatized, particularly like the DSLs you mention? Yes, you can automate some of the process (e.g. you can use flexx and yacc to generate some of the parsing logic) if the language is too complex to reliably code the respective parts by hand, but you're still a long way to go from there.

> A normal programmer will create new problems, not solve it. She will put mechanisms in place in order for the company to depend on her. She could not be faster but she could certainly make the others to slow down to her level.

This is not what a normal programmer does. If the programmers you normally hire are like this, your company has a serious problem.
I think you're referring to this maybe:

http://www.wall.org/~larry/pm.html

Perl, the first postmodern computer language

Though its a bit deeper than your summary so perhaps not.
Choose one of these:

http://codepoints.net/mathematical_operators

I suggest ⊷ "Image of".

http://codepoints.net/U+22B7
>>The need to easily type is vastly underrated IMO.

You can use a bluetooth keyboard with iPad, there are cases with built in keyboards too. I assume the same is true for Android.

Careful in your enthusiasm, you might sound like a fan boy :-)

But I will buy one when it can do what I miss on my iPad -- run Debian/Ubuntu/etc with good hardware support. Unless the Android pads seduce me first.

Edit: Oh my g.d, the comments on this video are more positive to Surface than Apple's users are about the polished UI/hardware. Lots of ip:s from Redmond? :-)
"Saturn V might have worked, but justifying costs of one program with historic waste of another is still an invalid argument in the context of cost of success." Did you read your comment? You can't justify your argument by bringing up "Amtrak" (not sure what an Amtrak is) a supposed failing enterprise, as much as I can bring up the Saturn V and use it to support my point. Again there is absolutely nothing to back up what you said. The issue of wasted costs comes down to management and little else. Small business and large businesses both can waste money or apply capital in smart ways. You also didn't specify what a large amount of money is, is Apple more wasteful than Boeing because of the disparity of income? The amount that NASA gets in funding is quite small and they do a lot with it. SpaceX or Virgin Galatic aren't actively commanding multiple missions within and outside of our solar system. Your argument is so general and naive. Have you ever worked in industry?
Yes, I think this is an English problem. In Portuguese, for example, there is "Gratis" and "Livre" which have too different meanings and there is no possible confusion between the two. Maybe they should say that the software should be "set free" instead.
Steve Ballmer’s Emotional Exit Speech Leaks [video]
No, but don't you see- that's everybody else who doesn't have a snowball's chance in hell. We're different.
> The need to easily type is vastly underrated IMO

Bluetooth keyboards work on iPads too.

> why would I buy a device with a new operating system

Exactly, and everyone has an iPad/iPhone... so...

Also you should check out the music/dj scene on iOS. It is crazily well developed and integrated, and unique to iOS.

Windows is to tablets what mac was to PCs in the 90s. A kind of underdog that despite good efforts never seems to pull it off.
Hey nreduce guys, if you're reading this, I'd love to have you on Techendo (shameless plug: http://techendo.co/) for an interview. please reach out to dan at techendo dot co
"Good enough" the way I'm using it is nothing to be ashamed of. It is very difficult to find computing systems that are "good enough."

Here are some of the motivating factors identified by the author at the outset of the search for a better language:

- Canonical’s Colin Watson is worried about Python’s performance on mobile phones.

- Marco Jez and Dave Abrahams proposed a C++ version.

- Bastian Eicher would like a .NET version (though IronPython might work here).

It doesn't seem like OCaml effectively addresses the above very well. On the other hand, here are some items the author liked about Python which may now be lost:

- Widely known and easy to learn.

- A large standard library.

- You only need to ship source code (interpreted).

- Can run inside a Java or .NET VM (using Jython/IronPython).

- All current 0install contributors know it.

- The current code is all Python and is well-tested.

Of course the last item is the most alarming: see http://www.joelonsoftware.com/articles/fog0000000069.html (2000), Brooks' Mythical Man Month (1975) for the Second System Effect, etc.
We have a weekly meetup as well running in SF called Tribes http://tribes.techendo.co/
There's some info on semantic differences here: http://docs.cython.org/src/userguide/limitations.html - it doesn't bring up much, and the design goal is full language compatibility. I've only played with it so far, but it's case of optionally adding type info, and also writing some distutils scaffolding to say how to build the module as a cython extension. This is then callable from Python via the regular import mechanism.
I use the underlying product [1] for a graphical online simulation and modeling program [2].

It really is a top notch diagramming library for JavaScript. It is very customizable and they support it back all they way to IE 6. When I was looking for something in this space a few years ago to build Insight Maker, it was the only thing that was flexible enough for my needs.

[1] MxGraph - http://www.jgraph.com/mxgraph.html
[2] Insight Maker - http://InsightMaker.com
It doesn't take a "rockstar" or a "ninja" or "guru" or what-have-you to be a significantly above average developer.

Often the biggest hindrance to product quality (including performance, reliability, and usability) as well as to development velocity is technical debt. Having a team member who consistently churns out lots of new stuff of excellent quality is great but not nearly as important as someone who is sensitive to and adamant about eliminating technical debt. The cost of such debt balloons exponentially over time and becomes more and more difficult to pay down the longer it's allowed to grow. But even a fairly modest amount of effort consistently applied before technical debt grows out of hand can realize massive gains compared to the more typical scenario where the technical debt is allowed to grow until it threatens the viability of the entire product before it's addressed.

This may not seem very "rockstar" but ultimately it is such folks who keep the system clean who have the most disproportionately large impact on the quality, viability, market success, and total development cost of big projects.
Yes, the SDI vs. MDI debate has been a popular and flamy one. It's also a rather subjective issue, and preference depends on what you're used to, what window manager you run (and how you're using it's features), etc. GIMP used to get bashed a lot for this UI choice, but the haters often forget that Photoshop (originally Mac software) defaults (or at least used to, and I believe it still does?) to SDI in the Apple land.

I'm glad that those who want MDI have finally stepped up and implemented it. Recently I've been using a tiling window manager that doesn't deal particularly well with floating windows. Now I have the choice.
Awesome -- finally an online (supposedly free) alternative to Gliffy!
Would recommend LucidChart over this unfortunately.
The explanation box is nice!

Here is another regex tester: http://www.gethifi.com/tools/regex
On the first page it's mentioned the fact that the app can download other APKs in the background. This very thing is disallowed. IIRC that's how Facebook got chastised a while back too.
This is a great idea, but Lucid Charts is available as a Google App in Chrome and is MUCH more polished than this.

You can only get 60 elements on a page in the free edition, but after months of using it I finally had a diagram hit that limit.
Especially those annoying apps and websites that require you to login with facebook credentials.
Very inspiring. I think this reinforces the idea that regular practice every day (even if it's short practice) is often better than longer sessions done intermittently or spaced apart more widely (like once a week).

Here's another example of the "daily practice" approach from a different domain. A self-taught designer callled Mike Winkelmann has been posting his "everydays" on his website. From his site's description:

"Originally I started out drawing and did that everyday for a year. Then I decided I'd like to learn a 3D animation package so I did a render using Cinema 4D every day for two years. Then I did some photography and also Adobe Illustrator for a bit..."

http://www.beeple-crap.com/everydays.php

Edit: Just to add, another great post on the idea of practicing everyday from a motion graphics designer. I think it's applicable to any field:

http://greyscalegorilla.com/blog/2013/01/one-a-day/
Wow, that's a good point I hadn't realized before: if we make it harder for people to switch jobs, then companies will be more eager to hire people without experience, and will invest more in their education. Yet another reminder that economics is unintuitive...
I once wrote a programming language that used UTF-8. I was rather proud of this hack that succinctly allowed UTF-8 variable / function names. I went searching for it and, sure enough, I still like it.

BAD_UTF8 = [\xC0\xC1\xF5-\xFF];
UTF8_CB = [\x80-\xBF];
UTF8_2B = [\xC2-\xDF];
UTF8_3B = [\xE0-\xEF];
UTF82 = UTF8_2B UTF8_CB;
UTF83 = UTF8_3B UTF8_CB UTF8_CB;
UTF8 = UTF82 | UTF83 ;

ATOM = ([_a-zA-Z]|UTF8)([_a-zA-Z0-9]|UTF8)*;