HN user

fmw

225 karma

https://github.com/fmw https://twitter.com/#!/FilipdeWaard

Feel free to email me at fmw@vix.io

Posts11
Comments87
View on HN

The terminal is a excellent abstraction layer to work around the limitations of LLMs. Tools like grep, the composability of commands through UNIX piping, for example.

You can develop something like that from scratch and make it available to an LLM, but why not reuse a proven technology that provides a perfect framework for the LLM to interact with?

The Netherlands has the Highly Skilled Migrant (HSM) visum:

https://ind.nl/en/residence-permits/work/highly-skilled-migr...

In summary, it requires:

- a company willing to apply for the visum for you, and,

- a minimum salary that varies on age and education level (this is how we measure how sought after your skillset is in our market).

In your case the salary requirement would be 5331 euros/month because you are over 30 and don't have a recognized master's degree.

If you have the Turkish nationality there are some more relaxed requirements (e.g. you can apply for the visum yourself, you don't need to company to do the paperwork, although in practice it will be faster and easier if the company is an official HSM sponsor).

Apart from the HSM visum you can also pursue a Startup Visum or a Self-employed visum, see https://www.netherlandspointofentry.nl/start-a-business/ for more information. If you don't want to work for someone else I suppose you can also set up a Dutch company and hire yourself as a HSM, but I don't have direct experience or knowledge about that.

If you can get a job that meets the salary requirements the highly-skilled migrant visum is very straightforward. The Netherlands is a good place to live and we also offer tax facilities to highly skilled migrants (https://business.gov.nl/running-your-business/staff/terms-of...).

There is a path to citizenship. If you qualify for the HSM visum that means you'll be getting a salary that will allow you to build a good life here, including getting a mortgage and buying a house, for example.

The difficulty of finding a job like that and an employer willing to sponsor you depends on your skillset. Once you get here, it can also be difficult to find a place to live, especially if you insist on living in crowded places like Amsterdam.

I would recommend doing your own research or getting advice from people qualified to talk about immigration law, which I am not. If you have questions that I can answer from the perspective of an employer that sponsors these visa and helps colleagues move here my email is in my profile.

Floyd & Hamilton | http://www.floydhamilton.nl/EN/Home | Amsterdam, the Netherlands (Onsite)

Floyd & Hamilton builds recruitment software that is used by some of the best companies in the Netherlands. We're looking for people that want to help redefine the way people look for jobs. Our interview process consists of two in-person interviews, as well as a small, practical project to give insight in your capabilities and the way you approach challenges.

We use JavaScript and Node.js and are looking for people with a strong interest in functional programming and languages (e.g. Clojure, Scala, Haskell or functional programming in JavaScript). We are looking for a full-time software developer (front-end or full-stack).

You can contact me at dewaard@floydhamilton.nl if you have any questions.

SEEKING WORK. Remote. Based in the Netherlands (CET), but able to conform to US timezones if necessary.

Clojure & Clojurescript developer with a lot of experience in web development and search (e.g. Apache Lucene and web scraping; see https://github.com/fmw/alida for a link to a video of a talk in London on that subject).

Willing to travel if necessary. My contact information is in my HN profile.

Beware of people suggesting their personal favorite language. There are many languages worth knowing. My personal favorite is the Lisp family and particularly Clojure. Pick up a book like SICP or any of the Clojure books. It can really give you a new perspective.

I suggest buying the Seven Languages book by Bruce Tate. There is no wrong choice, because learning any language will make you better.

SEEKING WORK. Remote. Based in the Netherlands (CET), but able to conform to US timezones if necessary.

Clojure & Clojurescript developer with a lot of experience in web development and search (e.g. Apache Lucene and web scraping; see https://github.com/fmw/alida for a link to a video of a talk in London on that subject).

Willing to travel if necessary. My contact information is in my HN profile.

I suggest buying the books. They are excellent. If you have to pick two, I would suggest the O'Reilly book[0] and the Joy of Clojure[1]. The first is an excellent primer and the latter is really great at explaining the thinking behind the language. I also enjoyed Amit Rahore's Clojure in Action, as well as Programming Clojure by Stuart Halloway. I haven't read Practical Clojure.

The books are the best resources if you're trying to learn the language at a fast pace, but there is plenty of information to be found through Google as well. In the end the best way to learn is by doing.

Good luck and welcome to the Clojure community!

0: http://shop.oreilly.com/product/0636920013754.do

1: http://joyofclojure.com/

The consumer market for GNU/Linux desktop application is tough, although there are some niche markets that can be viable. Wikipedia has a list of proprietary GNU/Linux applications that provides several examples[0]. If you want to charge in the consumer market and aren't interested in game development, solving boring, but relatively complicated problems (e.g. tax software) seems like a good bet financially. Open source developers are less likely to sustainably work on boring applications. People that generally prefer free software are also more likely to set aside their principles if you can somehow lessen some kind of significant pain for them (again, like doing taxes).

The business market is much more viable. There all sorts of viable markets, like:

- compatibility glue for either server-side or client-side open source alternatives to the Microsoft stack that solves certain headaches (e.g. arcane file formats, better conversion for scripted Excel sheets),

- GUI (system) management tools (such as CPanel and Plesk for budget webhosting, but for less saturated markets like managing thin-clients or virtual machines that are still a moving target),

- hardware + software (e.g. building things like portable barcode scanners for inventory management, security/surveillance hardware or VoIP boxes using the Raspberry Pi),

- et cetera.

If you target business users open source or dual licensing becomes much more viable too. It isn't economical for most companies to dedicate a lot of resources to IT internally, so they will still pay for e.g. support, training or a managed version of your application. The latter is especially attractive with web applications, of course, because you can sell a managed SaaS version of your application (this is exactly my business model with http://www.vixu.com [1]).

0: http://en.wikipedia.org/wiki/List_of_proprietary_software_fo...

1: Based on an Apache licensed application you can find at https://github.com/fmw/vix).

You're wrong. Religion in antiquity was different. It was our first attempt at philosophy, even though many of the best Greek thinkers stopped believing as they slowly built their own sphere of knowledge as a real form of (natural) philosophy. As to your example, the Roman era: religion is, of course, a great way to justify an absolutist regime. Why is someone king? Because god wants it. This is one of the reasons why the surviving monarchies are still strongly tied to religion. They receive (in part) both their legitimacy and mission from the idea that they have a divine task as the monarch. It can be a great political tool in general, too, as anyone who is following American politics can confirm. The Romans were actually relatively tolerant, but there were limits. The problem with Christianity was that the early Christians were a rabble-rousing sect that was creating problems for the empire. Their claims were not only farfetched from the viewpoint of a Roman aristocrat, but also challenged the Roman way of life. Ironically, they marketed their faith to slaves, offering them the hope of a better life after death despite the numerous calls for slavery in particularly the old testament[0]. Despite the whole "render unto Caesar" story, they also refused to recognize the "divinity" of the emperor [1]. This wasn't a problem per se. You could be critical of the divinity of the Caesars privately, but the Christian sect went too far in their zeal in their almost revolutionary and anarchistic spirit. Remember, Jesus preached that (assuming the sources we have are historically accurate on this point) the world was going to end. Most probably in the lifetime of his early followers ("Take therefore no thought of the morrow [...]", Matthew 6:34). Jesus is just the only one we remember from a long line of fanatical, rabble-rousing preachers from Palestine[2] that created problems for the Romans by instigating revolts.

The Roman ruling class objected to Christianity because of its politics, not because it wasn't the "state religion". It absorbed many other cults (e.g. Serapis, Isis, Mithras, see the Wikipedia article on "Religion in Ancient Rome"[3]).

Of course, intolerance goes hand in hand with religious fanaticism in any time, but the monotheistic religions are inherently more intolerant because of their rejection of anything other than their singular god. For the Romans, religion wasn't necessarily a fanatical pursuit, but a way to honor their ancestors and part of their politics. They were open to new religious ideas, as long as it didn't mock their way of life, and often adopted foreign cults as their own. In a way, very much alike to many modern believers, who take a little bit of everything in order to create their own, vague interpretation of spirituality.

[0] http://en.wikipedia.org/wiki/The_Bible_and_slavery

[1]: The divinity of the emperor was a complicated subject that can't really be compared to current religious worship in monotheism. Unlike the uneducated impression I have of Japan, for example, virtually no Romans actually believed that the emperor was a god in the modern sense of the word. It was mostly a honorific title, going back to Alexander the Great who was the first in a line of Greek/Roman rulers to explicitly compare himself with a mythical figure (Heracles in his case, who was not a god). In terms of absolute power over a major part of the human population at the time, however, the Roman emperor (and his Chinese equivalent) were almost like gods.

[2] http://en.wikipedia.org/wiki/List_of_messiah_claimants, http://en.wikipedia.org/wiki/Jewish_Messiah_claimants.

[3] http://en.wikipedia.org/wiki/Religion_in_ancient_Rome

Here is a shameless plug:

http://www.vixu.com (my startup) is based on open source Clojure/ClojureScript CMS (and soon webshop) software. See https://github.com/fmw/vix for the code (planning some refactoring over the summer before the first official release). Also doing search related stuff in Clojure (see https://github.com/fmw/alida for demo code I wrote for my EuroClojure presentation).

Clojure brought the fun back to software development for me and made me a better developer in general. It is also a very pragmatic choice, with the expressiveness of Lisp and plenty of reusable Java code being available.

Obviously, a single founder gets more when and if a payday happens. Most startups fail, however. If attracting a co-founder increases the odds of success it is surely worth it. The article points out that you can also attract a co-founder in return for a smaller stake after you get traction. This could be the best of both worlds, unless it leads to envy and friction within the team.

Microsoft offers good deals to startups[1], so cost is less of a factor than you may think. However, most people start programming as a hobby before they start a company, so it wouldn't surprise me if the cost issue mainly factors in earlier in the chain (at the point where people learn e.g. MySQL instead of MSSQL because of pricing). Of course, Microsoft is doing its utmost to push their products to students and schools, because they are well aware of this issue. Hackers, on the other hand, like to experiment, so they will come across alternatives to MS products sooner or later.

There are plenty of successful startups on the Microsoft stack. Everybody knows about the Stack Overflow story, but there are a lot more examples under the radar. Especially little ventures started by business people (who sometimes seem to prefer the Microsoft stack) that do quite well financially, but may not be very innovative on a technical level. It is just as viable in terms of getting things done and that is the only thing that matters. Admittedly, it may be harder to find good hackers with .NET experience, but the same goes for Java these days and Facebook is even successful in hiring smart people that are willing to work with PHP. Java and .NET are obviously popular with uninspired "bread programmers" because they are the path of least resistance to a safe 9-to-5 job, but that doesn't mean that all Java or .NET work is boring (consider e.g. Java at Google or Twitter).

I wouldn't want to personally depend on the likes of Microsoft or Apple for my development stack because I wouldn't bet my company on anything that isn't free as in freedom, but from my point of view as a casual observer the .NET platform is a pretty impressive piece of technology. Just like some other initiatives by Microsoft, like MSSQL things that come out of Microsft Research (e.g. Simon Peyton-Jones is employed there).

1: http://www.microsoft.com/bizspark/

I'm betting my startup on Clojure, but it doesn't feel like much of a "bet". It is probably one of the least risky choices I've had to make and as a bonus to the technical benefits it is also a nice way to differentiate yourself. It is integrated with the familiar, mature JVM-platform and not that hard to learn as an experienced developer. Integrating with existing Java or future JVM code (e.g. Scala, JRuby, Groovy) is a huge plus, because you can start thinking about the right tool for the job instead of troublesome integration with legacy code.

As to hiring: I think you will have a harder time finding good programmers to work on boring problems in a boring language (e.g. Java). Picking a niche language would make your project more interesting, but you can also do other things to make the working attractive to good people, e.g. actively developing and maintaining open source libraries related to your project or allow them to rethink the way problems are solved in your industry. Seemingly boring problems can have very interesting solutions. It also helps when you offer good working conditions (e.g. possibility to work remotely and all the "Aeron chair" kind of perks you keep reading about on HN). Not everyone is right for the typical startup or Googler lifestyle. Some very good hackers actually prefer e.g. working from home so they can take care of baby to pulling all-nighters at Facebook.

This is all assuming you're a technical founder. If you are: go with something that you're not only passionate about, but that is also the right tool for the job. In my case Clojure fits best, because I need the integration with Java libraries like Apache Lucene, but in your case it might be Haskell or something else entirely. If you aren't a programmer yourself you should find a technical co-founder or early employee to make this kind of decision.

That is what I meant when I said that Oracle is mostly creating a nuisance for the server market. It forces sys admins and developers to jump through more hoops to get the software running on their servers (as well as to keep it updated in large deployments!). That is, those that really need it, because I'm sure some people will just switch to the OpenJDK instead, because it isn't unsuitable for production use either.

E.g. early versions of ClojureScript had a critical bug on the OpenJDK that gave me the impression that (many of) the core developers are using the Sun package and are optimizing for it. There is also the issue of performance, which is supposedly better with the Sun version, but I should benchmark that for my particular applications before making up my mind. What do you use in production? There is a fine line between an acceptable difference in terms of reliability and speed and being too finicky for production. I'd love to hear more about what you're using.

Interesting conclusion. This is not like the Flash situation. Both JDK's are acceptable on a technical level. The Sun one is just a bit faster and more polished. In other words: this doesn't really affect the kind of end-users that would be affected by a missing installer for Flash. Oracle is just creating a nuisance for system administrators and developers in a market that Linux is already dominating: servers. These users know how to install the Oracle packages outside of the package system and understand the licensing issue.

The problem here is not GNU/Linux, but Oracle playing politics (again). The result is that they will continue to alienate developers, while their cash cow won't suffer in the short term (hackers aren't responsible for the majority of their business, business-type decision makers are). The decision to focus on an open alternative instead of working around Oracle's antics is what makes GNU/Linux what it is. GNU/Linux isn't just a practical piece of software, but also an idea. That being said, focussing developer time on the OpenJDK seems like a pragmatic move from a practical point of view as well, because licensing reasons are not something you can just ignore when convenient (without exposing your users to a possible lawsuit from Oracle).

This will be a nuisance, because e.g. Clojure just works better with the Sun Java packages. The Sun packages don't just have performance improvements, but the Clojure devs seem to be actively targeting them. Even if this might lead to improvements to the OpenJDK in the long term it is one hell of a nuisance to have to go around the operating system package management scheme for Java. The lesson is to actively mistrust Oracle and invest more time in solutions that are independent from that company.

A large part of our industry is self-taught. You don't need a specific degree to get a good job - or even a degree at all. Some bigger companies are a bit more formal (e.g. Google, Microsoft) and prefer hiring graduates, but even they look at merit before academic background. There are some jobs that benefit from academic experience, e.g. being a quant on Wall Street, but math or physics is a lot more useful for that than CS. If want to work in a field like that (or want to keep your options open) I'd recommend doing the double major or alternatively just major in math, while polishing your CS skills by working on open source software and maybe a few CS courses.

Getting a job out of college or differentiating yourself shouldn't be the prime motivator for this decision (if considered at all). Whichever way you graduate, you will be fine. It isn't like you're trying to decide between majoring in pottery class at a community college and going to med school. Future employers will be a lot more impressed by the depth of your understanding of your field than how many classes you took and the extra curricular activities are even more important (e.g. open source, internships, personal projects).

You are correct, of course. Eventually some user would figure out they can rotate "aaaaa" and "bbbbb" every other week to avoid having to remember a better password. That being said, they could just follow up with "ccccc" instead of revert to "aaaaa" (or go through the words of some pop song, which would arguably be a somewhat safer pattern to follow). In other words: creative users will find ways to cheat whatever measure you come up with. The only solution is giving them no choice in the matter and to randomly generate passwords for them, but that opens up another can of worms as they will start writing them down on post-it notes attached to their monitors.

The only real solution is educating users. Comparing to the previous password (provided by the user when changing it) is close enough to the spec to be able to get away with it in most circumstances (possibly combined with saving a history of password hashes, so you can see if people don't repeatedly use the same password).

The event was hosted by Sylvinus (CTO of Joshfire.com) at the Joshfire office. He did a splendid job. I'm very appreciative of the effort and the event was quite successful. Thanks for the pizza and beer (and for allowing me to babble on about Clojure ;)

Seems like we should do a local HN meetup, because all of a sudden lots of Dutch hackers are coming out of the woodworks, with you and Skrebbel from Eindhoven and me in Tilburg (~25 minutes by train). Anyway, the environment for startups in Eindhoven is great. There is the Technical University, Philips and a number of technical spinoffs from these two places, including a lot of startups. Although I'm highly skeptical of this ranking, the fact that the region around Eindhoven is ranked as the "smartest region in the world" is a good indicator[1].

[1] See http://www.intelligentcommunity.org/index.php?src=news&r... and http://www.brainportdevelopment.nl/en/news/brainport-eindhov..., although I tend to take this "studies" and competitions with a healthy grain of salt.

Contrary to your assumption I've done a reasonable amount of traveling. This summer, for example, I'm working from Paris for a month. I've done an internship in the US and visited four continents and around fourteen countries. I'm not done traveling, because there is so much left to see and experience, but I do have a little international perspective.

I tried to give some perspective with my post, but didn't intend to be overly pessimistic. In fact, I applaud your initiative (in hindsight, I could've been more clear about that). That being said, I still think that we lack an entrepreneurial culture here in the Netherlands[1] and that the image of intellectual and cultural freedom that might attract foreign startups has lost part of its shine in the last decade of isolationism[2], high-profile political murders and racial tension.

I do wish to concede on my point that Amsterdam isn't really a local technical startup hub in the first place, apart from the creative industry and mobile applications. From the Dutch perspective this might be true, as we have more advanced hubs in Enschede/Twente and Eindhoven, but from an international perspective distances are so small that this isn't really a factor and your initiative seems to be broader than just Amsterdam anyway. Amsterdam definitely has more allure to foreigners than provincial towns like Eindhoven and Enchede. E.g. Utrecht is one of the universities on the forefront of the Haskell community and this city is 30 minutes by train from Amsterdam. Groningen is a bit further, but their university has some great hackers working on cool stuff too (like two NLP specialists that are also on HN: http://nlpwp.org/book/).

Other than the "inappropriately pessimistic" tone, is there anything in my post you disagree with on a factual basis? I do consider myself an optimist, by the way, because you almost have to be as a startup guy. So what you might consider "inappropriate pessimism" is realistic optimism to me. I do wish your initiative to succeed and it is a lot more promising than the government-funded campaigns we've seen. I'm highly skeptical about government intervention because it rarely (if ever) works. Private initiatives like Appsterdam do have potential, though. In fact, I'm hoping to attend one of your meetings to see what all the fuzz is about.

[1] The Dutch people aren't very much inclined towards risk taking and entrepreneurialism, to say the least. Also, high taxes and business-unfriendly labour laws aren't helpful either. Contrary to the American Dream, we have a culture of applauding the average and consensus. We're keen on making money and sometimes prone to mass hysteria when speculating (e.g. the famous 17th century Tulip Mania and the more recent WorldOnline debacle), but the average Dutchman frowns on people that want to excel. A typical Dutch saying is "Doe maar gewoon, dan doe je al gek genoeg" (lose translation: "Just be normal and average, that is sufficiently special and crazy").

[2] E.g. the majority of the country is very negative about the EU and the Euro, famously voting against the very reasonable referendum on the European 'constitution' a few years back out of spite towards the political elite. These people live in a world where they think everything got more expensive since the introduction of the Euro, while in fact the opposite is true.

I'm not saying that this is the only reason why people come up with a limit on password length, but that I can imagine that some programmers who come up with such a limit do so because of plaintext storage in a fixed length database row (which is the only quasi-technical excuse for a limit I can up with).

Thanks for the clarification. Granted, I oversimplified. The 52% is for everything over ~50K. As a business owner, however, you pay this income tax on top of 20%/25% corporate taxes.

If you make a 100.000 euro profit and extract it from your business the company pays 20% corporate tax (that is the rate below 200.000 euro profit), leaving you with 80,000. That remainder is taxed as follows: http://en.wikipedia.org/wiki/Income_tax_in_the_Netherlands. This leaves you with 46.408 euro from your original 100.000 (using the rates that include mandatory pension, social security and State funded medical care payments).

Please correct me if I'm wrong, I'm far from a tax specialist.

Of course, you also have to pay all sorts of other taxes with the remainder, including municipal taxes, a hefty value added tax on most things you buy and property taxes. In return you get the ability to subtract part of your mortgage from your taxes, as well as a government that takes care of you (if you want it or not) when it comes to social security or affordable health care.

Note that there seems to be a tax reduction for certain foreign workers (see: http://en.wikipedia.org/wiki/Income_tax_in_the_Netherlands#T...). Also see http://en.wikipedia.org/wiki/Corporate_Tax_in_the_Netherland... for corporate tax rates.

EDIT: If you sell a company as a resident of the Netherlands you also get taxed quite heavily, but there are ways to mitigate part of that (e.g. using a holding company, so you don't have to pay income tax directly over the money you get for your shares). If you're moving here to start a business, I would suggest consulting a tax advisor or lawyer before you make any decisions or file paperwork.

Limits on password length smell like plain text storage. Hashes tend to make the length of the password irrelevant (although some bad implementations only look at the first n characters of the string and ignore the rest), but when you store it in a relational database row you need to come up with some arbitrary limit.