HNHacker News
TopNewBestAskShowJobs

kephra

1,088 karma · joined February 14, 2011

http://kephra.de/

products:

http://kephra.de/xml-edifact/ UN/EDIACT parser using the semantics of the standard to create human readable XML.

http://w3dig.com/ Domain specific language to write search engines.

prototypes:

http://o3db.com/ a web 4gl in Scheme

/join #o3db on freenode

submissionscomments
kephra··on How not to interview someone who already has a job (2011)
> You will go through 6-8 interviews!” I thought: “YOU will hire a bunch of unemployed people”.

Can someone explain why HR managers have such a severe prejudice against hiring unemployed people? Imho, its their job, to select those people from the unemployemnt pool that fits the company, and have the skills. A HR who only poaches employed people, is doing a bad job, and hiding his laziness under an evil prejudice.

kephra··on Less is more: language features
I don't understand the point in removing cyclic references, coming from FORTH, Lisp, Smalltalk point of view those are required, if you split a big recursion into smaller factors. The recursion automatically becomes a cyclic reference between words, functions, methods or even classes, as classes are just closures.

Does he want to forbid factoring? His feature looks more like a deficit of the linker to me.

kephra··on Less is more: language features
e.g. money is badly represented as float.

just my $0.0200000000001 on that topic.

kephra··on Programmers: Before you turn 40, get a plan B (2009)
I sometimes think, that the reason for this age discrimination was the switch from female to male coders in the early 80s. It was that sudden break, that introduced the computer kid as a replacement of the former cheap female workforce, and made the highly payed former system architect obsolete, as nobody had a use for a programmer anymore, who needs a secretary for typing, in the modern time of personal computers. Some of them moved to management, just renaming their job position.

So the gender discrimination of cheap female coder vs expensive male system architect switched into an age discrimination between cheap young coders, and expensive managers.

We lost both the skilled and the female coders in this way.

kephra··on The Null Professor (2014)
> Same with learning Python.

A language is like an instrument, once you know one, learning the next will be much easier, because you already know about rhythm and harmonics. Each new instrument, even a new guitar, is a ear opener, as it forces one to play different, to learn fresh.

Same with programming languages. Learning a new language becomes trivial after the first dozen. But each new one widens the way one see code.

kephra··on The Null Professor (2014)
I compare coding with making music. You can teach everybody to make music, but most people are to shy to begin. Learning to make music requires lots of boring practice. Lot of people fail after a few month of guitar lessons as a kid.

But then there are those manic musicians. A real musician must play everyday, regardless if he has audience, if he gets payed, if it sounds good to anybody but him. A real musician is manic and becomes depressive, if unable to make music. Some of them become great musicians.

Its the same with coding. Most people are to shy to try even. Lots of people fail to get traction. Only a few become manic, and of those a some become great coders.

kephra··on The Quest to Push a Human-Powered Bike to 90 MPH
shameless plug A fellow sailor made the following video showing his velomobil in normal day traffic in a suburb of Cologne Germany.

https://www.youtube.com/watch?v=_UNAK8xkpBU

Topspeed is "only" around 45mph (70km/h).

kephra··on Getting Money out of Uganda
Hawala حوالة could be an option, if you know wealthy Jewish or Muslim in your country. They certainly do business, and know how to transfer money.
kephra··on 10X Programmer and Other Software Engineering Myths
Lets say a great senior coder is twice as good as an average junior coder. The factor ten comes into play, when teams grow up, skills get diluted, and communication overhead kills the project.

Lets say the great senior was able to code 20 hours per week, and used the remaining time for email, a weekly blog, walk the dog and other recreations. He now has to lead a team of a few average coders, and as hiring hyped a lot of sub average people (1/4 of his own productivity), who are only working 8 hours effectively because the rest is wasted by powerpointless kickoff meetings, and recreational office coffee talk.

imho, the factor 10 comes not from the coder, but from the system. There are some companies where its 10 times more fun to work, likely those attract those who are 10 times more productive.

The software crisis for big projects is also a system crisis. Those projects start by big companies betting on a budget, without knowing whats really in the sack, and without knowing whom to choose to solve the problem from their pool of employees. Once one of them gets the projects, the middle management starts to fight each other. Trying to hire good coders from other projects, or trying to get bad people into the new budget. The resulting internal fluctuation will cause a mess on any project.

kephra··on The Great Green Wall of Africa
sorry /me stupid kraut trapped by Wikipedia, and 2005 plant reclassification.

The German Acacia Wikipedia entry only contains the genus Acacia, while "Akazien" points to the tribe that is including all those plants that are normally known under the common name of acacia.

Btw, the picture of the English wikipedia also shows that the genus Acacia is only native to Australia. I guess they are planting Senegalia and not Acacia there. Same plant, it just got renamed 10 years ago.

http://en.wikipedia.org/wiki/Senegalia

kephra··on The Great Green Wall of Africa
I wonder why Acacia?

This plant is not native to Africa, but only from Australian continent. I checked other sources, and found references to "Hardy, drought-resistant acacia trees now dig their roots into 330 miles of northern Senegal's Tessekere-Widu rural region. Planting began in 2008."

What are the dangers of planting a foreign tree monoculture without importing the wildlife that supports them? Why didn't they use a native African tree?

kephra··on Ask HN: How would you implement a verifiable open-source web application?
You need a 2nd trusted but independent person, who writes an application that runs on your webserver checking its own signature, and the hash sums of your code, after this trusted person started it with a password only he knows to access the encrypted database of hashkeys and other metadata.

The drawback is, that you can show that the site is not compromised directly after a reboot, but you need to call your friend to login, to give the password for his validity checker. Once his app runs, other can connect to it, and use the public key of the app to check if your own app is ok.

The problem is to find someone who is independent of you, so your community trusts him, and you also need to trust him, as his code is running on your server.

kephra··on US Threatened Germany Over Snowden, Vice Chancellor Says
Egon Bahr (former prime minister) and Willi Brand (former chancellor) are reliable sources for the Kanzerakte.

US barracks are extraterritoriality zones, and US soldiers are not under German jurisdiction.

And better read the 2+4 itself, and not 3rd party writeups like Wikipedia.

kephra··on US Threatened Germany Over Snowden, Vice Chancellor Says
West Germany is still occupied by US troops. The 2+4 treaty is !NOT! a peace treaty. Russians just withdraw their troops from east Germany. Take a look in the 2+4 contract, neither US troops nor US atom rockets are allowed in east Germany.

Each Chancellor has to sign a paper called Kanzlerakte, that he agrees, to give up sovereignty at lot of cases, e.e. intelligence, military.

kephra··on [dead]
"The reason there aren’t more women computer scientists is because there aren’t more women computer scientists."

The reason is, that programming changed from a badly payed women job in the 70s to a highly payed men job in the 80s. Nearly no man would work as a coder today, if we assume old female salaries. The personal computer created the lony male computer autistic - and this culture change, together with the male elbow and sexism drove women out of coding.

kephra··on An Introduction to High-Performance Flashlights (2011)
bookmarked great site. I was long searching for a slim light for 14500. Your site at least showed exactly one. I guess slim 14500 is an unusual wish. Nicely done!
kephra··on An Introduction to High-Performance Flashlights (2011)
The battery part is extremely bad/dangerous, when it comes to rechargeable Lithium batteries. First it shows an UltraFire. Please avoid UltraFire and TrustFire cells. Those are refurbished used cells with a new shrink wrap and an protection that likely does not work.

Please stick to proper brands: e.g. Samsung SDI is producing good affordable high drain cells. AW and Efest are also well known for good Chinese cells. Avoid Sony cells. Sony never sold to end customers. All so called Sony cells are either completely fake, or used cells e.g. from Makita screw drivers.

Next about protected vs unprotected. Thats a question of maximum drain vs maximum capacity. E.g. a good 18650 has a typical capacity around 2000mAh as a high drain unprotected IMR cell, or 3000mAh as a low drain protected ICR cell. IMR and ICR are different chemistries. And most important IMR only vents a bit, while ICR explodes. A rule of thump is therefore: Use a protected ICR in a lower power mechanical flashlight. The protection will kick in and save your battery and hands, in case of a short or voltage drops under 3V under drain. You can use unprotected IMR batteries in regulated devices because the regulation will protect your batteries. And you need to use unprotected IMR batteries for high power (>20 Watts) regulated devices, because protection kicks in to early thinks you have a short, and you need the high drain of IMR.

kephra··on Don't depend on JavaScript to render your page
It depends. There should be a way to find and index those user comments, if they have a positive SEO value.

This conflicts with the goal, that blog post itself should be at delivered as a static content, at best from a static file, to withstand a HNDDoS even on low budget.

So one solution could be to run the comment system as AJAX, moderate user comments a few times a day. Click [x] on every comment, you want to appear in the static page, and [generate comments] to generate a new static page, with the new public available comments.

Give each user a cookie and a localStorage, to show their comments in their own AJAX version, even if you blocked them from both the AJAX comment system and the public one.

kephra··on Don't depend on JavaScript to render your page
ok I finally can read your article. And sorry you are missing the main point.

Rendering static content client side using JavaScript is a bad idea, even if you have fast network in terms of latency and speed.

The main problem with this AJAX antipattern is, that it blocks all spiders and search engines. So you should not do that, if you are not Google docs, who can inject the content into their own search engine, and wants its content not to appear on other search engines.

As a rule of thump: Do not use JavaScript for anything that should be indexed by a search engine. Instead use JS only when interacting with humans, e.g. for blog comments, checkout and payment. Hiding comments by making the comment system AJAX might be a good policy for a blog, if you do not want the comments to appear in search. But the blog posting itself should be static content.

kephra··on Don't depend on JavaScript to render your page
Dont depend on databases to deliver static content, could be the lesson learned.

http://kephra.de/blog/Make_here_CMS.html <- shameless plug ;-)

This static site generator only requires make and bash. Being bilingual requires JS at the client, and the picture galleries are created by a 7 lines XSLT/PHP script under makefile control.

kephra··on Ask HN: Digital nomad taxes – which country to pay in?
> If I had an accountant I wouldn't be searching for this info!

Most accountants only know B&M, M&D, and SBOs. Accountants who know international tax laws, are seldom seen in the wild, but mostly employed as specialist in big companies.

In Germany tax office is required to answer every question. They wont tell you how to reduce your taxes, so you need to ask the right questions. But you have a signed paper afterwards, that you can show, if your books are checked 10 years later, telling that a tax officer claimed you did it right.

I can only tell the other way round:

If you are a German, and have an LLC in Tennessee, then this LLC is a path through taxed company, so you have to pay US income tax on it. Germany and US has a double tax agreement, so I do not need to pay taxes on the US income, but the US income is added to my German income to calculate the percentage of my Germany income that I have to pay as taxes.

Its now a bit more complex for US citizen in Germany. You have to file your US taxes till 15. Juni, if living outside US at IRS Center, Austin, TX, 73301-0215, USA. And your German taxes 10th of Mai. I advise to file the German taxes as early as possible, if self employed. You dont need to worry about this, if you are employed in your own company with payroll tax. Just ensure that your German tax return is ready, before you need to file your US tax. The double tax agreement between US and Germany will cause IRS to look at German taxes, whine and laugh, because German taxes are higher, and tell you that you need not to pay additional taxes in US.

My advise is to ask IRS.Frankfurt@irs.gov to confirm this!

Coming back to paying low taxes, and getting good health care same time with an US/Germany combi: Regardless if you are German or US citizen, imho the best combination is being employed at your own uGmbH in Germany, for only €1000/month. The uGmbH is not funded and owned by yourself but by your LLC in US that owns the intellectual property of your business. File invoices from your LLC to your uGmbH regulary. Your LLC will have nearly no costs. File US taxes as early, and German as late as possible in this case. So you benefit from low US income taxes, and an incredible low health care and unemployement insurance based on your low German income. Add a PLC in Estonia if you need a tax free money sink.

Optimizing Spain/US might be totally different. But you likely will be paying US tax as happy as I do - even if I'm not a US citizen ;-)

kephra··on Assignment: Creating a D&D Character
Yes, if you are wealthy and live on a high tech world. But Traveller Tech Level is defined as the maximum level an economy can sustain with a population of 10 ^ TL. So 10 people, even with books of knowledge will be at TL:1 bronce age within a few generations. 100 people at iron age and so on till Tl:8 is our current knowledge, its not 9 because most parts of population does is to poor and not yet educated to participate in the economy.

And Tl:9 of course offers the first future techs, e.g. fusion reactors. Tl:A reliable interstellar travel and automatic factories, and huge progress in the high times of big trade empires spanning years of FTL travel, and the collapse of civilization, technology and dark ages, when ever those empires fall.

Living at Tl:F and being wealthy could buy you a lot of years, before you need to worry about age. But I was restricting my idea of a "better" assignment to Tl:8. So you can imagine every career path here and now, e.g. odd ones you never want to live in real life like the doctor who works for crime syndicate (above example), but that is fun in a role playing game, or would make a good trope in a novel or film.

kephra··on Assignment: Creating a D&D Character
Ask any old military veteran. To old to rock'n'roll, to poor to rest. You have 10 years to earn enough money for retirement. Is that a reason to risk an adventure, that could earn that money? Also children out of school, wife divorced, thats an other reason to try a new start somewhere far away from the old shit.

A balancing rule is, that older characters earn less experience, and therefor younger learn faster by adventure.

kephra··on Assignment: Creating a D&D Character
Unfortunate they use D&D with its simple and rigid class system.

A classless system like Runequest is much better to express the wide range of possible fantasy trope characters (trope=young boy knows nothing, explorers the world, becomes famous, has powerful enemies, and saves the world by defeating them)

Even more interesting would be a career based system like Traveller, with the restriction of maximum homeworld techlevel 8. So you could start promising with good education and social standing, go to a medical school, but decide to become criminal after school, go into jail to learn even more skills, and start your role playing at career at best age of 29 or 33. Or you can even continue pre game careers, and start as an old wise man, who knows a lot, but where age already took its toll to strength, constitution and agility.

Some games offer much wider ranges of tropes for characters then D&D.

kephra··on Ask HN: How do your enterprise customers pay you?
Let define "enterprise customer" first. This is someone for whom the terms, conditions and prices of your website do not apply. Enterprise customer = Ask for quotes. So you might delay the question of how they pay you, once you have an enterprise customer ready to sign.

An other distinction is, that you might charge accounts of normal customers, but you always just send an invoice to an enterprise customer, and they send you the money. German customers could use the old BLZ routing, European the IBAN routing, and US will use ACH. But I don't care, as long as I get my money on my account. Big companies are slow payers. My trick of getting the money fast is to offer 2% discount, if they pay within 7 days.

kephra··on There are too many shiny objects and it is killing me
Thats interesting! I only know Elance and Odesk from having a short look, and got the impression that is not worth the time to compete in a race to the bottom for small projects. Good to know, that there are also good projects.

I guess naming Elance as an income caused this "small project" trigger. I also assumed that you are not coding for 20 years, as I read now by your above postings.

kephra··on There are too many shiny objects and it is killing me
We are cursed by infinite ideas vs limited time. Applying the law of diminishing returns results in ideas having a negative value. It like going to a bank and asking for a big debt, if you even consider an idea. Its hard to get rid of an idea, once its settled in our brain. Its taking space, and chanting code me,code me, when you prefer to be in flow of a boring big $$$ customer project.

It looks as if you are good in doing lots of small projects. Elance projects pay shitty, and you still claim you can make a living. But they are often small, very constrained, payed by hour. Thats different to coding something big for your own progress.

At first a tip from someone who learned coding with paper tapes: Code for max 4 hours directly after getting up. Do not read any mail, no forums or news sites, before your 2nd breakfast. Relax the remaining day, after replying to mails. Try not to procrastinate to much at a computer. A computer should be your work tool, not an entertainment device. Try to get a balance outside, e.g. a dog can be a great excuse to walk around the neighborhood, and walking around is one of the best ways to focus thoughts.

We all know the moment of the glorious vision at the evening, a small joint to get into flow, and at sunrise you suddenly realize you have written 500-1000 lines of extremely smart and perfectly working code, of a prototype of our vision. But sorry. I'm coding for nearly 40 years. This magical flow in the night shift happens once or twice a year, if lucky. Trying to force yourself into flow in the night shifts, will only lead to procrastination.

Many of my own projects started in such a magical flow. But to execute the prototype into a product requires continuous bring coding work. This means, that after I started to code the idea, I'm taking an even bigger debt to execute it. This is sometimes difficult if big $$$ customer calls with a problem. But I can continue on my own project, once I solved his problem, and wrote my invoice.

Its really easy to get into flow, once you got the habit, to make a coffee and perhaps a toast, and instantly start coding after wakeup. Its important not to code more then 4 hours, but to stop at noon, when you think its a good point to commit work, and to do something different. You'll code more errors, if you become tired, and nobody can sustain long coding sessions every day. Enjoy the real life outside of the computer screen.

About development stack: Less is more. Learn to code without all those framework bloat, and also avoid over sophisticated development environments with tool chains for hyped software development methodologies. You don't learn to play guitar with lots of effects, but on an acoustic for good reason. One can add effects later, but its important that you sound great even without. I'm a bad musician. Adding gimmicks between me and the sound wont improve my music, but instead causes me to play around with those gimmicks instead of making music. I'm a coder, sure I know a lot of music theory. Gimmy a line and I can compose and arrange a song in an evening, and everybody in the band has fun, but if I try to compose a song on computer I end up with nothing but junk.

kephra··on Show HN: NomadHouse – A network of houses around the world for nomads
Moin atudute,

you have !NOTHING! to show, at least not to me from the viewpoint of a search engine author. You show an empty page without JavaScript.

ok ... lets be a nice human and allow scripts. Allowing nomadhouse.io: still blank page. Google maps sounds interesting, when looking at the 3rd party scripting domains. But still a blank page. Mixpanel, Segment, Addthis, ... hey ... how many evil 3rd party tracking scripts does this site run? And still a blank page.

Finally: Stripe w-hat ... I need to enable scripting of a payment provider to view the page?

Where are the google maps, I hoped to see with maps.bigbrotherapis? Or are they also only include to add an other tracking?

Clicking on Berlin, I get a popup asking for registering a user. So you basically have a big expensive, complicated landing page, with a lot of tracking, but search engine blocking, that does nothing but asking for my mail address.

sorry ... no bounty. I'm harsh now, but your site fails completely, even if the service might be interesting. You might get a good peak now with postings on HN, but ensure your site is accessible without JS for search engines. You have only a few days time, that good links might result in a good SEO. Change your site asap.

kephra··on Show HN: Watch People Code
I did sell streams for several years, and have to claim please do !NOT! use icecast. The "standard" streaming server is still shoutcast (sc_trans_040/sc_serv), even if this software is not maintained for nearly 10 years, since AOL bought Nullsoft.

Icecast extends the Shoutcast protocol at several places. This might be great news, if you have Icecast clients, but most of the shelf radios and tvs can only do ages old shoutcast.

An other warning: Do not use cloud providers like amazon, where traffic costs extra money, if you stream more then once. 1000 peak listeners calls to run your own cloud of cheap root servers and vps servers, and I also advise on GeoIP-DNS, with Nagios plugin to throttle servers that are already under load, and disable those who went down. You might do a lot of provider hopping in the early stage, so avoid long contracts. 500 average listeners is the legal distinction between a radio and an internet service for ASCAP, if you stream music. But 500 average is at least 10k in peak.

kephra··on A complete rewrite of wiki as a single page application
Lets look, how this new wiki behaves without JS, from the viewpoint of a search engine.

e.g. compare http://c2.fed.wiki.org/methodology-subsets.html with and without javascript. The new wiki is doomed by design, because content can not be found by Google or any other search engine. And a wiki where the content can not be found is for the trashcan.

← PreviousPage 2 of 12Next →