skysight-inc/HackerNews huggingface dataset:
What is "some platforms"? There is plenty of stuff in github that seems to indicate "only windows".
I made a resolution like this a couple years back because I had never completed any nontrivial software projects.

For me, it worked better to start with much smaller projects and scale upwards. I started trying to do a project a day. Initially the scope would always be too large to complete in a day, but with this quick feedback loop I learned to narrow scope. Then I proceeded to week-long, month-long, and one multi-month project.

It's a good method if a one month side project seems intimidatingly large to you — which was how I felt before this exercise, but no longer felt this way afterwards.
The core just uses whatever the VM under it has for error handling. Clojure is a hosted language and one of the best decisions it made was not to hide the VM its sitting on (either the JVM, CLR or JS - all have slightly different exception handling).

I see it more as a development library and don't ship it to production.

There's also cljs-devtools and dirac to enhance the chrome devtools with ClojureScript support. Once you try them you're not going back :)
"I want to cook with you"

https://youtube.com/watch?v=KOUobuGaY7U

Working with germans where all documentation is written in English, everyday there is a "cook with you" situation for me. But as I learn more German, I understand better the documentation :)
Do you have 3 lives? You can't afford that if you want to build stuff. We actually have 15 years (on average) of useful life from 20 to 70 if you're lucky.
> I've worked at an ad-serving company. Clients couldn't get our data out

That's not really possible. Proof: Say Alice is your client, and her ad targets gay people (even though the ad or the advertised product itself is not necessarily related to being gay). Then using your data about sexual preference, you serve the ads only to gay people. Only gay people will see the ad, and thus only gay people will reach Alice's website. Hence Alice got the data out. QED.
"Edit: Instead of spawning a discussion, I should have guessed this would be downvoted immediately for not representing SJW values. Sorry to disappoint."

I think it's important to have told you why I downvoted. I just downvoted you for this passive-aggressive childishness. The rest of your post seemed reasonable.
I like this idea, I've got a handful of side project ideas that I always go back and forth on having/losing steam on and I end up never finishing them.

I also go back and forth on whether my side project should be open sourced or not. Why did you decide to open source all of your personal projects? What if it became something great that you later find out could be sold for extra income, would you regret open-sourcing?
Take a look at GitHub desktop (https://desktop.github.com/)

I think it would be better to just have a simpler GUI for a VCS that looks and
feels more like an email client. Commits would show up as a list like
email summaries and opening them up would maybe show the full diff. Branches
would show up as a an email thread/conversation. Maybe extra logging details
like "so and so has seen your commit" or "person A resolved a conflict here's
the conflict state and how they merged it". Files involved in the commit
would look like they are attachments and "downloading" the attachment would really
just open the file at that commit. ...Searching for stuff is probably important
to your workflow?

...I'm not the target market, but I get it. I hate email based workflows,
and I could send a couple of email critiques too ;)

I think this would work best with those working on smaller projects with maybe one
or two other collaborators that do not make changes at the same time. I make
changes, other person looks at the changes, maybe makes some corrections and
sends it back. Maybe there are some people that just want to be notified
of updates. I want to say that your target user's primary responsibility isn't
programming. Maybe a designer, sysadmin, or researcher? ...Someone who writes
a few scripts here or there.
But that latter thing is still something guitarists do. You might throw some new strings on and noodle around for a day with no particular purpose in mind.

Likewise it's fine to write code with no bigger goal other than to play with a library or a language.
> The cognitive dissonance that comes from having to interact with Java when using Clojure is very damaging

I don't use Clojure, but isn't relatively seamless Java interop -- and thus access to the massive Java ecosystem -- considered one of the big pragmatic advantages?

> Just look at Clojure stack traces

There are prettifiers that clean this up, but I understand your complaint is cognitive dissonance. The Java guts are right there, and I guess this is the heart of that matter. Some don't like chocolate in their peanut butter.
Truth is treason in an empire of lies.
"Hold right click and drag" doesn't work on laptops with trackpads.
We can make about as good guessed about the outcome as if the leaked tapes and anonymous sex allegations never was published.

As a thought experiment, how would US political landscape look like if it was illegal for news paper to publish articles that imply past criminal behavior in candidates during elections? HC would not have the mail server scandal, and trump would not have the sexual assault scandal. Which side would have benefited more?
I keep getting distracted by turning parts of my side projects into their own side projects.

The game I was working on (basic Berzerk clone) was simple enough, but once I decided I needed to use Lua (why? I don't know, I just did) and rewrite the ECS (it's still terrible) and have a vector-based camera for 2D scrolling, which Berzerk never even had (and rewrite the vector class, of course, even though it already worked) and I spent a week writing a state machine for basic enemy AI, implementing it, wondering if an ad-hoc possibly Turing complete pseudolanguage implemented in std::vector was really the correct solution, hating it even though it worked despite being an affront to programming, and deleting it, along with all of the game states that used it, and starting over from scratch, I realized I wasn't actually making a game anymore, so I gave up.

And by "gave up" I mean I'm working on the nth complete rewrite right now. The ironic thing is, it could have been done by the deadline - most of the gameplay was already there, if I'd just focused on the forest and not the trees.

But in my defense, the camera is pretty darn smooth, and I seem to have gotten a lot of useful code out of the effort, but not an actual game yet.
Well apparently not because Bosch motors are 'rated' at 250W but happily run at 500W for at least 10 minutes (that's as long as I tested). As far as I know the EU authorities haven't found this out... especially because there is nothing to 'find out'.
Tile38 – Realtime geofencing and geospatial index, v1.7.0
Ask HN: Switching from developer to project manager. What to keep in mind?
What is the most important thing to think about when you’re switching from a development to a (project) management position?
Those two papers, particularly the first one, are crazy relevant; great finds. Don't worry about getting too deep in the woods. It can be overwhelming to try to incorporate all the lessons in those papers and other active learning strategies. The advice I was given was to pick one or two strategies and start incorporating them. Then expand your tool belt. Keep things you feel work, discard those that don't fit the culture of your class. I'd encourage using surveys periodically with your classes too to see what strategies they find rewarding and engaging. Cheers!
In practice you end up with less parens than in most languages to express the same thing though. Also, the parens are largely what allows for structural editing: https://cursive-ide.com/userguide/paredit.html

When I work with Clojure, I'm able to think in terms of blocks of logic as opposed to lines of code. This is extremely powerful.

The JVM is certainly not a limitation for many applications out there. Conversely, since Clojure has recur, the only time lack of TCO comes into play is when you're trying to do mutual recursion. I haven't run into a single case where I needed that in 6 years working with the language professionally.

However, Clojure is not really tied to the JVM. It runs on both Node.js and CLR. I'm actually currently working on a Node based micro-framework for Clojure: https://github.com/macchiato-framework/macchiato-core
FunCall1( FunCall2( FunCall3(arg1, arg2, arg3)))

vs

(FunCall1 (FunCall2 (FunCall3 arg1 arg2 arg3)))

Yes those useless parentheses certainly clutter up the code. Look at how much longer the lispy line is compared to the less lispy line. Why it's got a whole -3 more characters!

And the end of the line with all the parentheses. So much uglier to see three parens at the end of the lisp line than the non-lispy line.

Truly a monstrous imposition, that lisp syntax.

And when you look at any lisp code base, look at how they don't indent their code at all. So unlike other languages.
Here's literally the first project I could find looking for "lisp source code": https://github.com/adamtornhill/LispForTheWeb/blob/master/we...
Can anyone point me to the best argument for hiding complexity instead of eliminating it?
I'm sure FB can distinguish between real and joke relationships with high accuracy.
"the kind of sophistry HN spouts"
> using ag or any of it's many implementations tends to get results faster, especially on large code bases.

Especially because ag tends to be smart about what it will ignore (e.g., the contents of node_modules, etc.)
SVA has also an superior service and is not more expensive than other health insurances. Sozialpartnerschaft ensures balanced politics and is a foundation of Austrias post war success.
I do believe that almost all of Valve's games started out as mods.

One could make an argument that all of their games started out as mods, in one way or another.
"You know what the fellow said – in Italy, for thirty years under the Borgias, they had warfare, terror, murder and bloodshed, but they produced Michelangelo, Leonardo da Vinci and the Renaissance. In Switzerland, they had brotherly love, they had five hundred years of democracy and peace – and what did that produce? The cuckoo clock."

-- Orson Welles' monologue in The Third Man. Which was set in post-war Vienna.
This is mitigated by the fact that Clojure doesn't expose reader macros to the user.
I like Clojure, but stopped using it due to not having a good way to define DTOs at a service level (I prefer noisy statically typed languages apparently). Best guess.

(-> {}
ice
(rye :2-fingers)
bitters
absinthe
shake
strain
garnish)

Now I think that strain flipped the returned type from drink to a glass with the drink.

All this shows is that OO and FP are duals [1]. I don't claim to get FP perfectly, but my moment of zen was realizing this.

1 - http://wiki.c2.com/?ClosuresAndObjectsAreEquivalent
Until relatively recently GC pauses have been a real problem. Java used to have no upper bound on stop-the-world GC pauses - your program could literally stop doing anything for an entire minute.

But these days GCs are much better, and especially with the Go GC having sub-millisecond pauses I think you are right that most projects written in C++ today could be written in Go. (And it seems like that is starting to happen.)
Which is clever, but all that matters for validity of the metric here, is whether a parent with a child in school, would be willing to make all these calls to the school, but otherwise be an uninvolved parent. It doesn't seem likely IMHO.
Well, if the data you're ingesting/parsing/etc is anywhere near well formed or having a known structural definition, you should be able to mock the code handling it reasonably well, even up to the point of covering many weird edge cases. And even with perfect data up front, you would still encounter bugs in your production code at some point.

In fact, isn't this usually the case with any application not yet in production?

As an example, I had a teammate who would get blocked on needing JSON that matched a production set of data. Yet, she knew what the various fields of the data would most likely contain. She ended up writing the code anyway without the "production" data she asked for and it worked great minus a few small changes. It was ultimately just psychological block, IMO.
Not a long-term one, no. A short term change would be detected. We envisioned that site owners could monitor the keys reported by perspectives to detect such attacks.
I am fairly certain I've used one, do not recall the name.

Edit: https://github.com/TomasTomecek/sen
I'm talking about an entire book that provides a strong argument. Want me to read it to you? Maybe I should paste the entire contents here, would that be easier for you?
Yeah, when I think of big, I automatically think trillions. But, I'm jaded. lol

I was hoping for something that maybe looked like a set of hierarchical clusters. Where I could drill down level by level.
Having worked in a factory at about the same time I discovered Dwarf Fortress caused me to heavily objectify all the activities going on in that factory. Workshop there, stockpile here, dwarf moving goods with wheelbarrow (guy on forklift)...
Before 1997 it was impractical to advertise them, though. You couldn't mention both the name of the drug and what it was for in an ad without including the entire warning label text. The deregulation was another Clinton thing, and its main beneficiary was the SSRIs.
I'm curious about this claim:

A set of all the possible states of the program’s memory, can be modeled by a finite dimensional real vector space V ≡ Rn.

Isn't the set of possible states of a computer's memory countable? How can one reasonably model this using a vector space over the reals? The paper claims any field will do. Well Z_p isn't a Banach space.

It seems to me if they want a notion of differentiability of a program that one would work in a field of characteristic 2 and use the module of Kahler differentials or use discrete differential forms. I certainly don't know enough about computer science but using a real vector space seems like it wouldn't be helpful.
I don't like this. Seems like encouraging a lot of bad starter projects that are never useful. It would be better to do code challenges/exercises for practice and learning. Like write a hashmap one month, write a linked-list (in C then in Rust) another.

If we want something useful, how about, contribute to a new open-source project every month. That challenge may end up with some major benefits to the community. It will also teach you how to work wth others, etc.
Theres the new clojure.spec[1] in 1.9 and core.typed[2] adds an optional type system as well.

[1]: http://clojure.org/about/spec
[1]: https://github.com/clojure/core.typed

The REPL-driven development of Lisps makes types not as important because everything is interactively tested as you write it. Having an optional type system makes it much easier to start with dynamic types and gradually add type annotations as your architecture stabilizes.
I find -> and its brethren helps quite a lot.
Thanks, I had the same question and you answered it nicely — I will stick with Vis.js (http://visjs.org/network_examples.html) for now. It seems to work better for larger graphs and allows me to build a pretty good ui for exploring the graph, too.
That's the most trivial form of term life insurance that you're referring to.

What table would you consult to come up with a rate for E&O and liability insurance for the CEO of Uber? Remember your goal is to make money.
> Guess what the JVM doesn't have.

https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.ht...

> so it doesn't generally let code directly manipulate the call stack.

You are doing something wrong if you need to manipulate the call stack to do a tail call. You just have to update the local arguments and jump back to the start of the function. It is literally just turning the call into a loop.
Libui, which was on hn a while ago, looks like the basic minimal cross-platform gui library to me. And that's already got bindings to crystal.. I think most developers are searching for something more.
>which involves a lot of 'gut feelings' about what is important or not for a policy.

Edit: I see you answered this same question below. Whoops.

Can you give some examples?

I thought it's pretty well understood that the "gut feelings" of experts have been and will continue to be outperformed by algorithms for these sorts of tasks. My imagination is failing trying to come up with something data-based that an agent would see and a computer couldn't.
This is amazing. Is there anyway to pull in opposing candidates during elections? I had a huge issue finding information on each side during the last election.
It also helps to turn parens grey via syntax highlighting so they are still visible, but don't clutter all the wonderfully wordy symbols.

I've also started turning all the special character noise down in all languages now. I'm usually trying to read the words, not all the cruft.
That is not true. It is a vital part of the language. It is not often talked about because its not 'flashy' anymore. If you want to keep some data in a safe way you have a easy language tool to do that for you. There are also more advanced usages. People use it, and it works.

I think Agents are more on the way out because of core.async.
Show HN: Rumblelist, a React-based task app. Trying to build mobile version
I’m sorry, yes, I should have specified prescription drugs, as that is what I meant. In context, though, this was what was discussed by the grandparent post: “[…] people go to their doctor asking for Rx by name […]”.
The headline should be "The One Project Per Month Challenge." For me, the term "Side-Project" implies that the goal is to generate revenue, which is not the goal of this challenge.

(Edit: phrasing)
The epochal time model of Clojure was an enlightenment moment for me when I was learning Clojure. I now sorely miss it when I have to work in any other language :)
Achieve what matter most in 2017 – MaxiPharo
I would bet that there was and remains a halo effect for the SUVs from the design and brand of the sedans (and obviously they share a good bit of the design language). To pick a related example, I suspect Porsche sells a few more Cayennes than would Nissan selling an otherwise identical vehicle.
Don't macros actually help both compiler writers and end users here? Macros are expanded at macro-expansion time, which is a stage before code gets evaluated. Macro-expansion is akin to source code pre-processing in other languages. Therefore all necessary context for fully expanding a macro in Lisp is maximally a source file and minimally a single macro form within some shared compilation environment. Clever editors (like Emacs extensions commonly used by Scheme, Common Lisp, and Clojure programmers) make ample use of this functionality to provide all sorts of code introspection and other smart editing functionality.
It depends on your approach - if you come up with an idea, then go looking for people to confirm it is a pain point, yes, you may end up being off. But if you simply identify a market you want to help, then go ask people in that market what their biggest pain points are, your should end up with a valid list.
The Hardware Hacker: Bunnie Huang's Tour-De-force
I like the idea. Sounds a good approach to get good at doing things fast. You could even significantly improve the quality of your work.

Anyone remembers the pottery class experiment ? They partition the group in two. One partition would be graded on the number of pottery pieces. The other partition was graded on the quality of the best piece. The result was that the first partition no only got more pieces. They also made better pieces. They just practiced more.
Agreed. The paper seems to be about a lot more than AD, as AD isn't really the main subject. This approach to programming really does strike me as new and important. I too havent yet grasped all the details, having spent a few hours on it today. I commented a short synopsis bellow. I will try to get a better grasp of it tomorrow.
The bottom 50% have no idea because they have no consistent objectives.
Meaning teaching in the 90's the computing history of programming all the back to the early days.

Those majoring in systems programming had a good glimpse of OSes and programming languages.
Which can be rewritten as:

(-> (FunCall3 arg1 arg2 arg3)
Funcall2
Funcall1)

in Clojure. https://clojuredocs.org/clojure.core/-%3E
In an ideal world yes, but TSX has some significant limitations. andikleen2 has mentioned some of those in his comments.

TSX is somewhat unpredictable as a general tool, and there are difficulties with e.g. knowing which transactions are even feasible. Generic "complicated transactional operations" also make lock-based fallbacks very difficult and expensive, which andikleen2 also touched on.

After experimenting with more general use of TSX, I very quickly came not to trust it. So the real motivation here is to tame TSX's unpredictability by using it in a very controlled way.

TSX simply isn't suitable yet for complicated transactions, but just providing hardware-level support for multi-CAS is already a big deal.
Murder is long solved. We've conclusively determined, with no exceptions, that it is unhealthy for the victim.
I added to the 1PPM README file, that a contribution to an open source project is a perfectly valid and highly encouraged project. Thanks for your remark.
He doesn't owe anyone a code dump either.
Not to those of us that enjoyed using OSes like Oberon.
That is a hugely callous and offensive way to view the death of children.
> Why did you decide to open source all of your personal projects? What if it became something great that you later find out could be sold for extra income, would you regret open-sourcing?

I think that's a decision to be based off of what it is. If that's a concern, and if open source has limited inherent value to you or the project, perhaps it shouldn't be.

For me, i highly doubt my currently projects will make any money. Primarily home automation, and home cloud-lite stuff, Storage, etc. Nothing ground breaking, and where it might be "ground breaking" (though it's not), i specifically strive to not have it be ground breaking - a pillar of my work lately has been simplicity, ease of use and ease of maintenance - being side projects and all, i don't want anything i write to confuse me in two years.

So yea, i have no concerns about it being open source - and so i default to OSS. If it gains any adoption, i get contributors, testers, UX requesters, etc, all things i want. So OSS is purely a boon for me, in these cases.

edit: Plus, i like being able to add a trail of work on my resume/site/etc that i'm proud of. For few side projects that i have left closed source, i split off as much code as i could making them into OSS libraries and such. Even if the core of it can't be OSS, some of it can i'm sure :)
> If you find that one of your projects takes off, or you really like it, then continue to work on it.

I think this is the thing. It's a slightly weird set of incentives for you to create a new project every month, irrespective of whether last month's worked out or not.

I'd instead describe it as "12 months of ruthlessness". Start a project at the beginning of the month. Has it gotten anywhere by the end of the month? Do you have a result (and that can be an open sourced module as much as it can be a user-facing product)? If not, shut it down, start something fresh on month 2. But if you do have a result at the end of the month, keep at it.
That, and you've exceed the request limit and it's only 10am cst
I'm just getting a "quota exceeded" error when entering my address.
#1 – What Is ES6? – Javsacript – Let and Const in Binding Scope [video]
No, please research Oberon and read the Project Oberon book.
And they were making money of it and selling the information to to everyone that wants to pay for it.
Exactly like in a small village /s .