News for hackers. Stuff that matters.

jmct

Re:CMSC 430: Design and Implementation of Programming Languages on Wednesday October 05, 2022 @03:22PM (#33100127)
Looks like you found them, and yes. :D

They weren't made with the thought of being generally consumed, but I do plan on making videos for the wider CS/programming community in the future.

Re:CMSC 430: Design and Implementation of Programming Languages on Wednesday October 05, 2022 @03:20PM (#33100116)
Apologies for causing a spike in your impostor syndrome!

330 is 'required' in the sense that you're not allowed to take 430 at UMD without having taken 330.

Perhaps a better way of phrasing it would have been to list the things we assume students have retained from 330. One of which is OCaml :D

I hope these videos provide some value to you! Always feel free to reach out if there's anything you think I could do better.

Re:CMSC 430: Design and Implementation of Programming Languages on Wednesday October 05, 2022 @10:28AM (#33096009)
Wonderful bit of history!

I'm one of the faculty that teach the current version of this course.

Would you mind getting in contact with us? We would love to learn more about PL/UM. It would mean a lot: {jmct|dvanhorn}@umd.edu

Re:CMSC 430: Design and Implementation of Programming Languages on Wednesday October 05, 2022 @10:04AM (#33095727)
Those are my videos!
Re:Concurrency Is Not Parallelism (2013) [video] on Tuesday December 04, 2018 @08:18PM (#18605008)
That's true in one direction, but not the other.

The other angle is that concurrent programs are still concurrent on a uni-processor. Parallel programs are not.

Re:Ask HN: Who is hiring? (December 2018) on Monday December 03, 2018 @10:09PM (#18595767)
Just to add on to this:

The languages people use at Galois lean towards functional programming languages: Haskell, Coq, etc. and systems languages: C, Rust (increasingly).

Re:Applicative WTF? on Tuesday October 23, 2018 @08:19PM (#18288631)
The reason GHC won't infer the definition of Applicative is because there can be multiple valid `Applicative` instances for a type (unlike `Functor` where there is a unique (non-trivial) instance).

The canonical example of this is lists, with 2 valid instances of `Applicative`.

The author of the post seems to have this realization, but I wanted to call it out, just in case.

The problem of getting Homomorphic Encryption in the hands of data scientists is what the RAMPARTS project we're working on at Galois is about (https://galois.com/project/ramparts/). We presented some preliminary results at JuliaCon last year: https://www.youtube.com/watch?v=_KLlMg6jKQg

The main difference to the work from the article is that RAMPARTS is _not_ a API wrapper. It allows the the Julia Programmer to write the function as they normally would, and then compiles it to FHE. This way the programmer can use _the same_ function for plaintext testing and development and for running under FHE.

Since the JuliaCon talk we've pushed this a bit further and actually coming to a close on the project. We learned a lot about the difficulties of making FHE invisible to the user, which was the aim of the project. We're hoping to continue this work in the future and make it even more seamless for developers.

It's a funny story, but it's also not true. You don't want pencils in space (not because they don't work, but because you don't want graphite dust everywhere).

A source: https://www.scientificamerican.com/article/fact-or-fiction-n...

Re:Reflecting on Haskell in 2017 on Monday December 04, 2017 @12:46PM (#15845798)
Galois does not work on financial products. It is a research services company (i.e. R&D for hire) that focuses on high-assurance software.
Re:Introducing Incremental on Saturday July 18, 2015 @09:43PM (#9909707)
Haskell does not do this. Haskell is lazy (computed results are shared), but Haskell does not memoize by default. To illustrate:

    func y = let z = y + y
             in (add 1 z) * (add 1 z)
in `func` the result of computing `y + y` is shared because it has been given a name: `z`. However, the result of `add 1 z` is _not_ given a name and therefore has to be computed twice. Because Haskell is pure, they will result return the same result, however the result is not saved.

This avoids needing to save the results of _all_ function calls.

Do you live in a big (or bigger than average) city?

I live in the UK in a small town and can not imagine having kids but no car. Most of my friends find having a car is essential even without kids (though I prefer to not have a car unless 100% necessary).

On my own I am fine with public transport, but anything between walking around the village or going to a big city isn't really covered by public transport.

Re:Whitehouse response to Aaron Swartz petition on Wednesday January 07, 2015 @07:23PM (#8854282)
It makes me wonder, what does the White House consider a suitable forum for holding appointed officials to account? Or more appropriately, holding the appointers to account.
Re:Workaholism in America Is Hurting the Economy on Tuesday June 24, 2014 @02:58PM (#7939739)
While your point is also good, I really wanted to know the case where the a generic equivalent isn't even available (despite being more effective).

The OP's anecdote seems to imply that there are situations where only inferior proprietary drugs are available. Which, in my opinion, would be impossible to defend, no matter how much of a fan of the free market one might be.

Re:Workaholism in America Is Hurting the Economy on Tuesday June 24, 2014 @10:43AM (#7938012)
Would you mind naming the generic drug? It seems like this is a powerful argument against having (only) for-profit healthcare. I'd like to be able to point to a specific case of what you're describing.
I'm glad that Michael Devine has the courage to turn down the settlement. I think it helps that there seems to be clear evidence of wrongdoing.

Also, maybe I am misunderstanding something, but does the plaintiff have to ask for the settlement to be rejected?

I thought that for a settlement to go through, all parties have to agree, otherwise it goes to court.

Re:Radical Islam Website Readers May Be Prosecuted on Tuesday March 25, 2014 @04:30PM (#7468739)
I think you have good points, I do think you're introducing a false dichotomy though.

I'd prefer if there were no censorship on TV and there was guaranteed freedom of speech.

I can definitely understand where you're coming from (in as much as any non-German can understand), but I do wonder if it's possible to allow hate speech and to fight it in other ways.

Maybe not, but I do think it's an ideal to strive for.

Also, when it comes to US TV, it depends on the channel and whether it's using public bandwidth. Channels like HBO and Showtime don't have to censor anything. But overall I think you're right, the US does have this strange Puritan culture that seems to be in conflict with its idea of personal freedoms.

You say that you aren't a fan of hate-speech laws in general. May I ask where you think the line is? I feel like it's incredibly difficult to define what's appropriate without leeway for abuse.

I am often envious of how good Germany (as a country/government) is about keeping things within the spirit of the law and being reasonable about how things are implemented. The efficiency of the German bureaucracy is a good example: You tend to see less waste and corruption than in other western countries.

So with that in mind, it's sometimes hard to use Germany as the standard since they set the bar too high for the rest of us!

Re:Radical Islam Website Readers May Be Prosecuted on Tuesday March 25, 2014 @02:32PM (#7467804)
Yes, we get it. 'Europe' and countries within Europe are not the same thing. You are missing the point. Yes, this article only talks about the UK, but Europe generally has a problem with free speech.

The following countries have laws against hate speech:

Belgium@: http://en.wikipedia.org/wiki/Belgian_Anti-Racism_Law

Denmark: http://www.inach.net/content/denmark.html

Finland: (sorry, could only find PDF) http://www.ohchr.org/Documents/Issues/Expression/ICCPR/State...

France@: http://en.wikipedia.org/wiki/Hate_speech_laws_in_France

Germany@: http://www.iuscomp.org/gla/statutes/StGB.htm#130

Iceland: (Art 233) http://www.wipo.int/wipolex/en/text.jsp?file_id=190914#LinkT...

Netherlands: http://wetten.overheid.nl/BWBR0001854/TweedeBoek/TitelV/Arti...

Norway: (135 a) http://lovdata.no/dokument/NL/lov/1902-05-22-10/KAPITTEL_2-6...

Sweden: (PDF Ch. 16 sec. 8) http://www.government.se/content/1/c4/15/36/d74ceabc.pdf In case you don't want to read that far "sentenced for agitation against a national or ethnic group to imprisonment for at most two years"

UK: See article.

The countries with an '@' are ones that also ban certain kinds of denial (usually Holocaust denial).

Note it is very likely that more countries in Europe have bans on free speech, these are just the ones I know of and could get sources for quickly.

On top of that, your point "Europe (as a political entity) has only generally positive things to say about freedom of speech" is only accurate if you don't take freedom of speech seriously. The European Convention on Human Rights AND the Charter of Fundamental Rights of the European Union says it is up to the countries whether hate speech counts as free speech! Which misses the entire point of free speech, that no one is able to say what is and is not okay speech!

I live in the UK and the things that upsets me most is the lack of free speech here. There seem to be far too few countries that take it seriously.

So yes, I think it is fair to say Europe has a problem with free speech.

Re:The Evolution of CS Papers on Wednesday February 19, 2014 @09:34AM (#7263762)
Programming is still heavily influenced by research. Modern type systems, concurrent algorithms, compiler frameworks like LLVM, and lots of other great things have come straight out of academic research.

I don't understand why the Hacker News community tends to downplay the effect of pure CS research and the programming ability of people in academia.

Re:24 Days of Hackage: pandoc on Friday December 13, 2013 @07:13PM (#6903711)
You can use pandoc without needing to write any Haskell. This article is about pandoc (the library), but you can also get pandoc (the command line tool) and convert between common document formats.

In fact, I'm quite comfortable with Haskell and have never used pandoc as a library, I just use the tool.

Also, many Linux distros include pandoc in their repositories, so you can install it very easily.

Re:Composing Reactive Animations (1998) on Monday November 04, 2013 @07:49PM (#6672327)
If this style of programming interests you check out Elm [1], a functional language made for the web that uses this FRP style. The creator was recently hired by Prezi to work on Elm full time [2].

[1]: http://elm-lang.org/ [2]: http://engineering.prezi.com/blog/2013/05/21/elm-at-prezi/

Pandoc does almost exactly what you want. Much of my academic writing is written in markdown and then pandoc converts that to LaTeX. For conference papers it doesn't work as well (due to the conferences having specific style requirements) but for notes and presentations it works wonderfully.
Re:Ask HN: Best Haskell projects and gists to learn from on Sunday July 28, 2013 @05:15PM (#6118122)
There is a great Stackoverflow answer about this very thing:

http://stackoverflow.com/questions/6398996/good-haskell-sour...

Personally, I learned a lot from reading a lot of the Functional Pearls that are published in the Journal of Functional Programming. The XMonad source and the source for Monad-Par are also great to read.