HNHacker News
TopNewBestAskShowJobs

gtycomb

515 karma · joined May 20, 2016

submissionscomments
gtycomb··on Compact Sparse Merkle Trees – Efficient Non-Membership Proofs
the 'Download preprint' keeps failing (Firefox, Fedora Linux)
gtycomb··on Why Are Enterprises So Slow?
This article mentions a Jeff Bezos' big mandate with six points. For an insight on the "slowness", note that we are looking at only a technical strategy, a part of something bigger related to a particular enterprise. I have seen very similar technical mandates in many large enterprises and this is not a full picture to move on. The ability to move rapidly enough comes not from having this mandate over another. I don't know the inner workings at Amazon, but if this is a technical mandate for the enterprise, the glory of Jeff Bezos is that he has a personal vision and ability to execute and orchestrate it across business units and acquisitions, have in place the right team who understand it to move forward with it. Not many organizations have the right leadership to actually implement a technical strategy like the one, that's the truth. This is an issue that I have been seeing too often unfortunately.
gtycomb··on Why Are Enterprises So Slow?
Scanning over responses so far I think a relevant aspect is not underlined strongly enough -- the lack of expertise in some of the key positions in companies "to move things". The status quo prevails. Play it safe, don't shake the boat, bring in Gartner or some such consultant on strategy, and hum along. In the end, outsource a project with internal fanfare (bringing relief to people concerned). This happens all too often.

This is how life goes, and as some here pointed out already, even if large inefficiencies are unaddressed a company can be profitable for significant time because of an established market position, brand, extensive regulations in place to protect their interests, some little known high profit products, etc. However give it time, and we see them fade away when upstarts take the risks, have the vision, shake up their market one piece at a time. And the cycle repeats.

gtycomb··on Ask HN: What are the best textbooks in your field of expertise?
Not just piano, when I was learning finger-style/classical guitar, and teachers I know in Jazz, we look to J.S Bach's Well Tempered Clavier just to learn about music. Some of it can be demanding in technique as you work through, but even the simpler lines are delightful, they teach you some lovely and memorable things about patterns, relationships, and harmonic structures in any kind of music we hear today.
gtycomb··on Ask HN: What programming languages a CS undergrad should know?
I agree with you very much so. A little story -- when my son was in his 3rd grade elementary, I showed him a little Python with turtle graphics. He absorbed it in like his Sponge Bob. I still remember the day when he took an old duck taped laptop of mine to school and his teacher had him do a demo before the class, explaining the python constructs that drove the turtle. The school made Python available at its labs for all students after that. Times changed so much from where I started!

Now computer languages are poetry that we all can learn, and its a necessary tool for any career path. When we talk about _CS_ Undergraduate training though, languages are peripheral and we need to get much deeper -- theoretical and hands-on grounding in hardware, software, network architectures, mastering CS fundamentals that help tackle organizational complexities that new tools and methodologies bring upon us on a daily basis (today ES6, webpack, mobility, data science, networks, etc. ) along with a large legacy world running SAP, Microsoft, etc. out there...and don't forget having enough on accounting, economics, and management under the belt.

gtycomb··on A Programming Language Underdog
yes to all of these -- Nim also has those intrinsic benefits that statically checked and compiled languages bring.

Arrays? As pleasantly nimble as Python arrays to say the least. Pointers are lengthy discussion, but suffice to say that pointers are smartly handled to avoid their pitfalls at runtime (while integrating with external C if you really need to)

Time time and again as I went through using Nim, what really stuck with me was that the designers had thought through these practical matters so very well, and even in its current < 1 version the language is remarkably complete and robust for practical programmers.

gtycomb··on A Programming Language Underdog
Since I have used Nim in a small team effort creating an enterprise data analysis application, let me put in a good word. The ease of coding and speed of execution was what caught our attention. I was expecting the worst (from past experiences with new languages) but we were so surprised that we could complete our project all in Nim. These are a few things that I love with Nim:

- One's knowledge of Python jives really well with Nim. Thinking in Pythonic ways, a small number of constructs in Nim gets you a long way without gotchas that block you. For example you can easily integrate Numpy in minutes.

- Statically typed, fast compilation, readable code, good module import system, binary executable that you can move around easily without installing anything more at distributed sites, and a built-in test and integration framework.

- An efficient web server comes along, supports a practical and useful template system for small team web applications. Concurrency. Async dispatch/coroutines gives you back-end options to scale.

- Nim's Postgres database client driver is glitch free, easy to use, and it turned out to be a real good work horse.

gtycomb··on Books found in dumpster belonged to Thomas Jefferson
Some of the great writings are not in a dumpster but right in front of our eyes if only we knew it. A copy of J. S. Bach's Goldberg Variations sitting in front of everyone until 1974, in the hands of the director of the conservatory of music in Strasbourgh and then in the hands of a professor of music, it had in the inside cover fourteen canons in Bach's own handwriting, elucidating Bach's architecture like never before. An Italian visitor chanced upon the score and suggested these were Bach's own handwritten lines ...
gtycomb··on Bicycle Control Design in Python
Well, differential equations makes control theory. Write a system of differential equations, come up with an iterative scheme to solve it and there you begin to see the idea of feedback.
gtycomb··on Bicycle Control Design in Python
"Feedback Systems, An Introduction for Scientists and Engineers" by the same author, Karl Johan Astrom (and Richard Murray) is a readable introduction on how the basic equations come together. Think of it as the innate "language of motion" that is wired in our brain that allows us to bike and walk so effortlessly. Thanks to Newton and friends for their discovery.
gtycomb··on C++: Is It Really a Cruel Joke? (2003)
> Can you elaborate on the reliability part?

What I meant by reliability is personal. The stuff I learned when reading and experimenting with Nim in one day sufficed to do practical things in my daily work. Any new information was found easily and I could keep developing (vs. some years ago when I was learning Haskell, after the first joy with the "cleanness" of the syntax, the systems programming part down the road became a bear. I had to go through yet another learning curve to digest that). May be reliability is not the word, but its just that Nim didn't let me down even though only a very limited time was invested to learn it for my purposes.

> Python has a much richer set of libraries, testing utilities ..

Yes indeed. If an off-the-shelf numpy package sufficed I would have stuck with it. For recent numerical work (this is where I tried Nim first, graph theory, matrices where you have observed non-standard sparseness, ie. not a Toepiltz kind "standard" sparseness, and these you use to your advantage by coding it yourself). Even if I find an exactly needed package from the community, I have to read the sources to know how it is coded. Subtle details in implementation cannot be fathomed from verbal documentation as it impacts rate of convergence, memory consumption etc. or perhaps a bug your use case uncovered! So during prototyping and validation you use python or whatever to help with the exploring, test cases etc. Once you know exactly how you need to structure the algorithms, I code With Nim and I will know exactly whats in it. Nim coding has been easy, and the performance unusually good.

> with a huge family of tools (pip, conda, pipenv, virtualenv, etc.)

In my point of view, I'd rather not carry these many things to develop and deploy to maintain and manage processes at many distributed sites. On my local machine, yes. The initial development install of Nim anywhere (takes 3 minutes, no admin) has all the tools for the build, unit test, package, integration test, and you can run compiled binary anywhere, on systems supporting just the key data/network dependencies that the application demands...traveling light.

gtycomb··on C++: Is It Really a Cruel Joke? (2003)
Hi - thanks for outlining your case. My Cython know-how is limited to qualify any kind of comparison with Cython. Its just that my attempt with Nim went surprisingly smooth for me. Coming from some of the older languages I use and love, the reliability of the newer Nim is pleasing and coding is fun. I ended up eliminating all Python code from my back-end. Because Nim is statically compiled I can deploy pieces of it anywhere just like a compiled C program, without dependencies, and it means a lot in my particular situation.
gtycomb··on C++: Is It Really a Cruel Joke? (2003)
This is just my situation, but I gave up on Cython when I started moving forward with it (distributed graph algorithms). I found that I had more things to learn. With Nim, it took me half a day (after seeing the language for the first time) to get a basic numerical process going and another few days for distributed data communication involving messaging and postgres/mongo (Nim has a modern JavaScript (ES6) promise/async/await like concurrency model that is powerful and succinct like the language itself)
gtycomb··on C++: Is It Really a Cruel Joke? (2003)
I stumbled into Nim recently and this thing "just works". Python-like syntax, performance like C. This is what C should have been, I'd say.

https://nim-lang.org/

gtycomb··on React Native: A retrospective from the mobile-engineering team at Udacity
> stems from asking native engineers to use a language and ecosystem that they're not used to working with

yes, so reminiscent of “enterprise” situations where SAP (or put any of your other favorite's name here) is so dominant. In a recent situation, the marketing side of the business kept asking for newer agile mobile technologies, and so the cio-purchasing-manager engages Gartner (or put any of your other favorite consultant’s name here) for guidance. Well, the result is to start an in-house prototyping team composed of who -- folks seeped in SAP maintenance but who wants to learn the newer mobile technologies for career development. They do create some prototypes but so many things remain open while they are busy doing their daily SAP work, their forte. The CIO then steps in to satisfy the marketing folks: We buy SAP’s packaged solution for mobility and an outside consultant will integrate it. Problem solved. Or is it? The answer waits another three years when the integration is really completed, by then the CIO leaves and the issues need to be visited again.

gtycomb··on Can France Create Its Own MIT?
What! The land that gave the world Fourier, Poincare, Galois, Laplace, Pascal, Lagrange, Cauchy, Descartes, Fermat, Hadamard, Borel ... they had their MIT a long time earlier.
gtycomb··on Ask HN: What are some great books that are relatively unknown in the US?
His autobiography "John Barleycorn". Even exploring a lifetime drinking alcohol, it ends up as a book to cherish.
gtycomb··on Ask HN: What are some great books that are relatively unknown in the US?
The children's books:- Just William series by Richmal Cromption. Fun of boyhood days immortalized.
gtycomb··on Ask HN: What are some great books that are relatively unknown in the US?
Even years after reading the story, reminiscing "The Great Sermon Handicap" lightens my day.
gtycomb··on Ask HN: What are some great books that are relatively unknown in the US?
Mayyazhippuzhayude Theerangalil by M. Mukundan (Malayalam. English translation: On the Banks of the Mayyazhi)
gtycomb··on Ask HN: What are some great books that are relatively unknown in the US?
Books by P. G. Wodehouse. English author, an outstanding humorist.
gtycomb··on ActorDB – Distributed SQL database
Handling the concurrency and distributed processes are Erlang's forte. Whether ActorDB leverages Erlang's built-in Menesia (an ACID compliant distributed database), I am not sure. Erlang's Prolog-like syntax will help define the relational model.
gtycomb··on Learning Programming with Nim
'Nim in Action' from Manning is well written and solid, I found recently. Nim is surprisingly robust, I'd mention. The book has a chapter on using Jester for a web framework. This is adequate for some things. If anyone is at the point of using Nim as a server for React clients, doing something beyond a hello world (interacting with forms), I would love some pointers. I haven't yet thought through what may be done with Nim's capability to compile Nim code to javascript in situations like this.
gtycomb··on Beware the ‘Buyback Economy’
There are strategic situations where carrying the debt load is good for you -- you are not so attractive a buy for an outsider who wants to acquire you.

Or it may be that the big wigs looks around asking, where is the best place to invest in stocks...who else, but me! This show of confidence in the future performance of your company can be good marketing for your own stock value.

gtycomb··on The Story Behind Susan Kare’s Iconic Design Work for Apple
A fine read ... a piece that teaches us so much about the human side of things that matter in engineering management.
gtycomb··on Why Crystal Is My Next Language
Thanks for asking. I had stopped looking at newer languages long time ago and I can't tell quite how I decided to check out this Nim. Perhaps its finding your well written book, Nim in Action. Nim language has this one characteristic that means a lot to me -- to be able to learn the core concepts very quickly enough to get productive in some of the routine work (back-end system interactions, distributing compiled modules to other locations, numerical/data processing). Nim won my heart in this regard hands-down.

Well, along the lines of what is already mentioned, I stumbled on web communication aspects (I like the available template system, it performs well) and ran into glitches with the mongo or postgresql drivers as I got deeper. I am glad that Nim doesn't have a Ruby-like syntax -- Nim's current type structure/syntax is its strength, IMHO.

(I wanted to contribute some money to the team but PayPal is the only option even if the site says it can take Visa etc. PayPal is something that I avoid due to past experiences)

gtycomb··on Why Crystal Is My Next Language
I agree. I am taken by surprise at the all-round strong performance of Nim. Python-like syntax, a pleasing type system, efficient compilation and packaging. I am waiting to hear more on this. As I understand it they are a small team too and their implementation is truly worth following up.
gtycomb··on The Tinkerings of Robert Noyce (1983)
I am surprised that there are so few hacker comments here. The story sends me the goosebumps and its a keeper -- Grinnell College in Iowa where the Silicon Valley revolution really began, what really made landing on the moon possible, and this Robert Noyce quote in Wiki:

In his last interview, Noyce was asked what he would do if he were "emperor" of the United States. He said that he would, among other things, "…make sure we are preparing our next generation to flourish in a high-tech age. And that means education of the lowest and the poorest, as well as at the graduate school level."

gtycomb··on How to write efficient matrix multiplication
Somewhere in the conversation Les Valiant's paper "General Context-free recognition in less than Cubic time" is worth mentioning. This has informative and clear discussion on the complexity of matrix-multiplication in programming areas such as grammar and parsing.
gtycomb··on The World’s Best Violins Sing Like Humans
Maybe its like how much of one's software creativity has to do with the programming language one uses and how much of it is the programmer herself.

Yo! Oistrakh. One of my favourite violinists. I have noticed the following with my 10 year old's violin teacher (who is a really good violinist). To show him a certain technique during her lesson she reaches for her instrument instead of his. Especially for a bit challenging violin part, I guess she can confidently show a technique better on her own familiar instrument.

← PreviousPage 3 of 5Next →