HNHacker News
TopNewBestAskShowJobs

esfandia

461 karma · joined August 4, 2011

babak@sce.carleton.ca http://www.sce.carleton.ca/faculty/esfandiari.html
submissionscomments
esfandia··on Let’s Build a Simple Database (2017)
Wouldn't your customer lose all their data if the app crashes?
esfandia··on SQL: One of the most valuable skills
If you're mathematically minded (really just basic set theory), maybe try learning relational calculus. You'll express database queries in terms of Cartesian products, selections and projections. These operations translate directly into SQL, so maybe it'll help you think clearly first, then apply the syntactic translation. Honestly, if I had the choice I'd rather just use the syntax of relational calculus, as I find SQL too verbose and convoluted.
esfandia··on Essential C (2003) [pdf]
Maybe a cleaned-up Pascal would do the trick? It was a great teaching language back when I was a student. Low complexity, strong static typing, compiled language, no GC, pretty fast. No pointer arithmetic, harder to shoot oneself in the foot, but still easy access to pointers and easy ability to manage memory.

edit: What I meant by "cleaned-up" Pascal was addressing some of Kernighan's criticisms as seen in https://www.lysator.liu.se/c/bwk-on-pascal.html (also, the Pascal syntax is a bit bloated)

esfandia··on New Office Hours Aim for Well Rested, More Productive Workers
How many days in a row do you need to take it to fix your rhythm?
esfandia··on I quit Instagram and Facebook and it made me happier
Social Network Analysis: https://en.wikipedia.org/wiki/Social_network_analysis
esfandia··on Time to break academic publishing's stranglehold on research
> You have to realize publishers are in the reputation business.

That's right, and that's also why the prestigious researchers and universities, those with an already established reputation, have a responsibility: collectively leave the editorial boards of for-profit publishers, set up alternative venues with the help of university libraries. Share the archival, indexing and discovery effort among universities via peer-to-peer digital library federation.

All the tools are there. The same way that places like Stanford, Berkeley and MIT made MOOCs a thing, they can revolutionize scientific publishing.

There's already such venues such as JAIR for AI research (and that was set up looong ago without all the tech we have today), so it's certainly possible. It just needs to become the norm rather than the exception.

esfandia··on AI Mistakes Bus-Side Ad for Famous CEO, Charges Her With Jaywalking
"Pattern Recognition" is the most accurate term IMO (at least as far as this particular tech is concerned, and yes it is a subset of Machine Learning), and it doesn't pretend to be something it's not.
esfandia··on We know music is pleasurable, the question is why?
Thank you very much! I shall investigate these!
esfandia··on We know music is pleasurable, the question is why?
Do you mind sharing what kind of music triggers this in you? The closest to this for me has been late 60's psychedelic music.
esfandia··on Learning BASIC Like It's 1983
Exactly.
esfandia··on Learning BASIC Like It's 1983
You're right, I guess I'm comparing against both those axes at the same time, since I'm relating to my own experience as a kid 30 years ago vs as someone working in tech today. Indeed, that's not really a fair comparison.

The point I was trying to make was about the distinction between programming with a limited set of building blocks vs programming with a large and open-ended selection of libraries. They don't require the same skill set, and one seems more fun to me than the other.

esfandia··on Learning BASIC Like It's 1983
The nature of programming has changed so much since then. Back then, you could get going by knowing a very limited set of building blocks (BASIC keywords, all described in a single manual). The challenge was to build something meaningful out of those building blocks. Programming could be hard, but never too complex. Problem solving at its purest. That's what got me hooked!

Today, the set of building blocks is unlimited. The challenge is to find the right building block for what you want to do, using the infinity of resources available to you (all the APIs, libraries, Google, GitHub, StackOverflow, blog posts). You're drowning in complexity, even if what you want to program is straightforward. And you are constantly mindful of writing idiomatic code, always wondering if there's a better way to do the same thing, which is normally a good thing but can be time-consuming and getting in the way of the fun part that is the problem solving.

esfandia··on Learning BASIC Like It's 1983
Even before Hebdogiciel (or maybe at about the same time?) there was "Jeux et Strategies", and it came also with BASIC listings for adventure games. Mind you, I don't recall ever getting one to work...
esfandia··on Why Read the Classics? (1986)
Yup, Star Trek is probably much more of a common ground these days than ancient Greek literature. Don't know if it's a good or a bad thing though.
esfandia··on Why Read the Classics? (1986)
I've always thought that before forcing us to read a classic they should get us to attempt writing one (or, more realistically just a few pages). Get us to create a relatable character, come up with an engaging and original plot, describe a place, a situation or a character in a clear, concise, amusing, manner. Get us to realize first hand how difficult it is to do so. Then you have my attention. Now I want to know how the best do it.
esfandia··on The Humanities Are in Crisis
> "I don’t necessarily see this is as a crisis, kids really passionate about humanities will always pursue the humanities. The net effect of this is those classes will have fewer kids just there for their degree. This isn’t a bad thing. Better to graduate 100 kids really interested their fields than 1000 just there in hopes of landing a higher paying job."

In principle I agree with this, but the economic reality of North American universities is that programs that don't draw a large enough income will lose to those that do. New programs are introduced based on how many people they can attract (the Market), not based on how necessary they are for the generation, preservation and transmission of knowledge.

esfandia··on Why Use an FPGA Instead of a CPU or GPU?
The answer might be obvious, but I'm not a hardware guy: couldn't they use a FPGA to do the compilation itself, or at least the bin-packing part? Is there a way to code a general SAT-solver in FPGA?
esfandia··on Tuple Spaces – Good Ideas Don't Always Win (2011)
It introduces a nice level of indirection between different actors, so that they don't need to know about each other's existence in order to communicate and solve problems together. The actors can be added and removed dynamically, and so the problems to solve and the problem-solvers can evolve over time. It's a pretty powerful and flexible idea! To use GoF terminology, it's like having a Mediator for a bunch of asynchronous and fully decoupled pub-sub Observers and Observables. It's a way to implement Barbara Hayes-Roth's Blackboard model.

JavaSpaces, TSpaces emphasized the over-the-internet aspects of it, which didn't matter to us for our project. We ended up finding and using something much simpler called LighTS. With all the nice support for concurrency in Java these days though, it wouldn't be much work to put one together from scratch.

esfandia··on Color or Fruit? The Unlikely Etymology of “Orange”
In Persian, "orange" as a fruit is also "portaghal". But the color is "narenji". And then there's another citrus fruit quite close to the orange called a "narenj", that you can't usually find in the West.

Interestingly, nobody eats the "narenj" directly. They usually squeeze its juice on a fish dish. It gives it a very nice flavour.

esfandia··on Unlike most millennials, Norway's are rich
In Ontario (and probably other provinces in Canada), there is a strong financial incentive by the province to universities (in the form of tuition matching) to maintain a high retention rate.
esfandia··on Vue Native
Is your course online? If so, do you mind sharing a link?
esfandia··on Fuzzy Logic in Agent-Based Game Design [pdf]
Jason seems like the most stable of available implementations, still actively maintained and well documented: https://github.com/jason-lang/jason
esfandia··on Firefox 60 released
Has the Classic Theme Restorer add-on been ported to the new extension API? Until then, I'm staying with my old version of Firefox.
esfandia··on Man Accused of Making 97M Robocalls
How many of these people get prosecuted every year? Is there some sort of Interpol of spam/scam/phishing to coordinate efforts against these guys? They should be easy enough to catch. It seems that right now there's not enough disincentive for these people to stop what they're doing. If the decentralized web wants to have a chance to succeed, we'll need to find a solution against spammers and scammers.
esfandia··on Don’t Fix Facebook, Replace It
Very good point. I guess if we're going to use email as a substitute for Facebook we could use messages containing deletion/update directives. Clients could still of course decide to ignore them or interpret them however they wish.
esfandia··on Don’t Fix Facebook, Replace It
Why doesn't this exist already? Sounds very feasible. Your "friends" are people in a given mailing-list, and even a minute action such as "like" could also just be an email sent to that mailing-list, with some proper tagging in the subject header, so that the email client knows not to display the email but rather act on it as an event handler.
esfandia··on Apple Hires Google’s A.I. Chief
The Apple Newton had handwriting recognition in the early 90's.
esfandia··on Poor Grades Tied to Class Times That Don’t Match Our Biological Clocks
This is a problem for profs too!
esfandia··on The Glory That Was Yahoo
With every re-design, their services get worse. Yahoo Sports used to have easy access to boxscores and game recaps. My Yahoo's RSS content fetching has been broken for a while. Problem is, there are no real alternatives either.
esfandia··on A Practical Introduction to Blockchain with Python
Thanks for a very useful and clear checklist! Would you say decentralized DNS checks all those boxes (Namecoin is a thing, after all)? Why would a DNS require the notion of transaction?

I'm aware of sites that tell you whether you need a blockchain or not for your application, but they don't say what to use if only one or two of the requirements for a blockchain are not needed. What would a decentralized DNS strictly need if the notion of transaction wasn't required (but only the latest value)?

← PreviousPage 4 of 8Next →